私はそういう風に書かれたPythonモジュールを持っています。モジュールをインポートするとPythonクラスが作成されます
SomeClasses.py
class A():
def __init__(self):
print "Hi! A is instantiated!"
class B():
def __init__(self):
print "Hi! B is instantiated!"
a = A()
ファイルをインポートすると、クラスAが自動的にインスタンス化されます。
>>> import a
Hi! A is instantiated!
今、ほとんどの場合、これはまさに私が望む動作です。ただし、オーバーヘッドのためにインポート中にクラス全体を即座に作成したくない場合があります。 init()関数の作成を検討しました。
ただし、これは既存のコードのほとんどを破棄します。私は、既存のコードベースの多くを書き直すことを避けたい。誰もがクラスを作成しないようにインポート時にモジュールに指示する方法を提案することはできますか?
ところで、私はあなたがSomeClasses
をリファクタリングし、別のモジュールにそれを最大限に動くことができるWindows 7の
[ここ](http://stackoverflow.com/questions/419163/what-does-if-name-main-do)を参照してください。 –
あなたは 'if __name__ == '__main __':'を探していますか?説明はこの答えにあります:http://stackoverflow.com/a/419986/1388292 –
これは、__name__ == '__main __' 'チェックのケースではありません。通常のインポート時に初期化が行われるようにします。 – user2357112