Is there a static constructor or static initializer in Python?
<p><strong>Is there such a thing as a static constructor in Python?</strong>  </p>

<p>How do I implement a static constructor in Python?</p>

<p>Here is my code...  The <code>__init__</code> doesn't fire when I call App like this. The <code>__init__</code> is not a static constructor or static initializer.</p>

<pre><code>App.EmailQueue.DoSomething()
</code></pre>

<p>I have to call it like this, which instantiates the App class every time:</p>

<pre><code>App().EmailQueue.DoSomething()
</code></pre>

<p>Here is my class:</p>

<pre><code>class App:
    def __init__(self):
        self._mailQueue = EmailQueue()

    @property
    def EmailQueue(self):
        return self._mailQueue
</code></pre>

<p>The problem with calling <code>__init__</code> every time is that the App object gets recreated.  My "real" App class is quite long.  </p>
