我是一个Python noob。要学习我正在做一个自然选择模拟器,但我有点卡住了。Python'NoneType'对象查询
一点背景:
我就与随机位模式,像这样的生物的列表:
population.append(chromosone.Chromosone(chromosoneSize))
生物品种,所以我有一个@classmethod
允许基于要创建一个有机体它的父母的结合位模式,就像这样:
population.append(chromosone.Chromosone.makeChromo(newOrganism))
在某些点上,我从一个生物体返回基因,像这样:
高清returngene(个体经营): “” “返回基因” “”
回报self.gene
这适用于通过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( )是一个返回基因(一个字符串)的简单方法。
我认为我的误解在于@classmethod
以及Python如何处理类型和对象?
'maheChromo()'返回什么? – glglgl 2012-03-16 23:29:21
@glglgl:'None' :) – 2012-03-16 23:30:03
此外,这个词是**染色体**而不是** chromosone ** – 2012-03-16 23:35:53