从另一个类实例调用python类实例方法

时间:2015-04-05 23:31:54

标签: python class python-2.7 oop methods

我对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()

希望你们可以帮助我,我的大脑在冒汗!非常感谢!

4 个答案:

答案 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()