外運行方法時對於以下類獲取對於對象無類型的__init__
class Member(object):
def __init__(self, fields, scouts, id):
self.id = id
self.fields = fields
self.scouts = scouts
self.routes = [Route(s) for s in self.scouts ]
self.routeBreak = []
self.numScouts = len(self.scouts)
運行此方法
def createMember(self):
random.shuffle(self.fields)
self.routeBreak = self.createBreaks(len(self.fields))
self.assignRoutes()
實施例:
Member.createMember()
然而,這樣做後,對象成員返回爲「無」。我嘗試添加createMember()來初始化方法
class Member(object):
def __init__(self, fields, scouts, id):
self.id = id
self.fields = fields
self.scouts = scouts
self.routes = [Route(s) for s in self.scouts ]
self.routeBreak = []
self.numScouts = len(self.scouts)
random.shuffle(self.fields)
self.routeBreak = self.createBreaks(len(self.fields))
self.assignRoutes()
然後一切都很好。我可以在對象上運行其他方法沒有問題。我不知道爲什麼會發生這種情況,我需要弄清楚如何在init方法之外運行createMember()。我對使用類和方法相當陌生,所以任何解釋都會有幫助。謝謝!
你想要做'm = Member(); m.createMember()'? – 2014-11-22 19:18:14
我試過了,以及'Member()。createMember()'(我不確定這是否合法)。 – josibake 2014-11-22 19:21:06
我剛剛意識到我創建'm = Member()'時忘了添加參數。感謝讓我再看看那部分 – josibake 2014-11-22 19:30:18