一尘不染

Python中是否有静态构造函数或静态初始化程序?

python

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类很长。


阅读 1057

收藏
2021-01-20

共1个答案

一尘不染

提示:任何引用self都将需要实例化该类。您可以这样做:

class App:
    email_queue = EmailQueue()

App.email_queue.DoSomething()

但是,来吧,这似乎有很多不足。我使用SLaks,只需在类外部对其进行初始化。或者,您可以查看单例模式

2021-01-20