PythonモジュールのExport制御

use "__all__" in "__init__.py"

こんな感じだろうか実際に触ってないしちょっとよく分かってない。

‘__all__’は別に’__init__.py’以外にも使用可能。

ただし、”from package.module import *”のように対象の全て(“*”)をimportする場合には’__all__’の効果が作用しますが、import対象を特定した場合には効果がありません。

# in '__init__.py'
from . import *

__all__ = [
    "module1"
    , "module2"
    #, "module3"
]

# if it include all module using "from package1 import *",  effect "package1.module3" is error!!!"
# But if it use "from package1 include module3", don't effect.

コメントを残す