我希望能够通过调用已实例化对象的方法来创建对象的新实例。例如,我有一个对象:
organism = Organism()
我希望能够调用organism.reproduce()
,并拥有两个类型为Organism的对象。我的方法是这样的:
class Organism(object):
def reproduce():
organism = Organism()
我很确定它不起作用(我甚至不确定如何测试它)。我在this post中尝试了gc方法。所以,我怎样才能让我的对象创建一个自己的副本,就像我创建的第一个对象一样(使用organism = Organism()
)是可访问的?
像这样的事情呢:
结果:
另一个选项——如果实例(
self
)未在方法中使用:这确保了有机体产生更多的有机体和(假想的从有机体中衍生出来的Borgs产生更多的Borgs)。
不需要使用
self
的一个附带好处是,除了可以从实例调用之外,现在还可以直接从类调用它:最后,如果实例(
self
)和类(Organism
或子类(如果从子类调用)都在方法中使用:在每种情况下,您都可以将其用作:
为什么不直接使用复制模块呢?
相关问题 更多 >
编程相关推荐