问题描述
提示:任何引用self
都将需要实例化该类。您可以这样做:
class App:
email_queue = EmailQueue()
App.email_queue.DoSomething()
但是,来吧,这似乎有很多不足。我使用SLaks,只需在类外部对其进行初始化。或者,您可以查看单例模式。
解决方法
Python中是否有诸如静态构造函数之类的东西?
如何在Python中实现静态构造函数?
这是我的代码…__init__
当我这样调用App时不会触发。该__init__
不是静态构造函数或静态初始化。
App.EmailQueue.DoSomething()
我必须这样称呼它,它每次都会实例化App类:
App().EmailQueue.DoSomething()
这是我的课:
class App:
def __init__(self):
self._mailQueue = EmailQueue()
@property
def EmailQueue(self):
return self._mailQueue
__init__
每次调用的问题是重新创建了App对象。我的“真实” App类很长。