我是个Python怪。为了学习我正在制作一个自然选择模拟器,但我有点卡住了。在
一点背景知识:
我列出了一个随机位模式的有机体,如下所示:population.append(chromosone.Chromosone(chromosoneSize))
有机体繁殖,所以我有一个@classmethod来允许一个有机体基于其双亲位模式的组合而被创建,比如:
^{pr2}$
在某些情况下,我会从一个有机体中返回基因,比如:
def returngene(自身):
“返回基因”
返回自我基因在
这适用于由chromosone.Chromosone(chromosoneSize)产生的生物体,但不适用于由chromosone.Chromosone.makeChromo(newOrganism)产生的生物体。我得到这个错误:AttributeError: 'NoneType' object has no attribute 'returngene'
更新:我给了makeChromo()一个返回,如下所示:@classmethod
def makeChromo(cls, bits):
obj = cls
obj.gene = bits
return obj
但我现在得到了一个错误:TypeError: unbound method returngene() must be called with Chromosone instance as first argument (got nothing instead)
returngene()是一个简单的方法,它返回gene(一个字符串)。在
我认为我的误解在于@classmethod以及Python如何处理类型和对象?在