Pythonモジュールに共通のパターンが見られます。__init__.py
サブモジュールをインポートする場合があります。
例えば
mymod/
__init__.py:
from . import subm1, subm2
__all__ = ['subm1', 'subm2']
subm1.py:
def subf1():
...
__all__ = ['subf1']
subm2.py:
def subf2():
...
__all__ = ['subf2']
したがって、クライアントコードはこれを行うだけで済みます。
import mymod
mymod.subm1.subf1()
mymod.subm2.subf2()
それ以外の:
import mymod.subm1
import mymod.subm2
mymod.subm1.subf1()
mymod.subm2.subf2()
ベストプラクティスTMはどれですか?再帰的なインポートに何か問題がありますか、それともデフォルトの動作に固執する必要がありますか?デフォルトの動作の理論的根拠は何ですか?