我有2个模块,每个模块都包含一个类。
我的主程序实例化了一个类的对象,它实例化了许多类的对象。
我需要能够从第二类的实例中调用第一类函数。
这是什么,我有一个大致的样子:如何在python中调用实例创建者的函数?
模块mod_one.py:
import mod_two
class One:
def __init__(self):
self.new_instance = Two()
def call_back_func(self):
# This function should be called
# from the new instance of class Two()
模块mod_two.py:
class Two:
def __init__(self):
# Call call_back_func() of module mod_one
我发现的唯一途径是通过回调函数call_back_func()作为第二类的参数,如下所示:
self.new_instance = Two(self.call_back_func)
但我想知道是否有更好的方法来做到这一点。
这是一个非常有效的方法,因为它不会引入循环依赖。 – 2011-12-21 18:29:15
我认为将'self.call_back_func'传递给构造函数是一个很好的方法。 – NPE 2011-12-21 18:29:17