我希望控制MyClass类的实例化时间,它需要是唯一的并且能够全局引用它
# myclass.py
class MyClass():
def __init__(self):
pass
def hello(self):
return 'world'
class MyManager():
def __init__(self):
self.instance = None
def create(self):
self.instance = MyClass
manager = MyManager
这是因为我正在使用的类在初始化时具有一些依赖性,这在模块导入时是不存在的。 (为了上面的例子,我省略了依赖)
# main.py
import myclass
myclass.manager.create
instance = myclass.manager.instance
hello = instance.hello
现在这是一个错误:
AttributeError: class MyManager has no attribute 'instance'
我是python的新手,并且大部分都是将它用于线性脚本。我错过了什么?
答案 0 :(得分:3)
你永远不会打电话给myclass.manager.create()
,因为你忘记了parens。添加它们。您可能也打算调用MyManager()
和MyClass()
,以便实例化它们。