我正在重构我的一个程序。基本上我将所有类都移动到一个模块中。
现在我遇到的问题是某些模块代码依赖于我在主程序中实例化的类的实例。当然我可以直接将实例传递给方法。或pickle
实例。或者将属性定义为global
。哪种方式最好?
答案 0 :(得分:1)
一种可能性是在实例化时将实例传递给类:
class Bar(object):
def __init__(self, inst):
self.inst = inst
def method(self):
# use self.inst
inst = Foo()
bar = Bar(inst)