Я - питон 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'
UPDATE: Я дал 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()' return? – glglgl
@glglgl: 'None' :) –
Кроме того, слово ** хромосома **, а не ** хромозон ** –