我对python类有一个简单的问题。 以下是设置: 我有一个类作为“mastermind”类,其中包含其他类的各种实例。现在这些类需要调用其他类的方法,但我不知道该怎么做。例如:
class mastermind(object):
def __init__(self):
self.hand = hand()
def iNeedToCallThisMethod(self, funzies):
print funzies
class hand(object):
def __init(self):
pass #here should be a call to the mastermind instance's method
example = mastermind()
希望你们可以帮助我,我的大脑在冒汗!非常感谢!
答案 0 :(得分:7)
如果要调用mastermind的方法,则需要引用它。
例如
class mastermind(object):
def __init__(self):
self.hand = hand(self)
def iNeedToCallThisMethod(self, funzies):
print funzies
class hand(object):
def __init__(self, mastermind)
mastermind.iNeedToCallThisMethod('funzies')
答案 1 :(得分:0)
class hand(object):
def __init(self, other_class):
#here should be a call to the mastermind instance's method
other_class.iNeedToCallThisMethod()
m_m = mastermind()
example = hand(m_m) # passes mastermind to new instance of hand
我只是传递上面的对象
答案 2 :(得分:0)
如果您需要从iNeedToCallThisMethod
的{{1}}拨打__init__
,您应该将该方法放入该课程中。
但是,您可以使用hand
:
classmethod
答案 3 :(得分:0)
两个对象都需要相互引用,尝试将实例传递给构造函数。
class Mastermind(object):
def __init__(self):
self.hand = Hand(self)
def test_funct(self, arg):
print arg
class Hand(object):
def __init(self, mastermind):
self.mastermind = mastermind
self.mastermind.test_funct()