パッケージ中の__init__.py
内で__all__
変数を書き換えることで、import *
でimportするモジュールを制限することができます。
__all__ = ["hoge", "fuga", "piyo"]
このような記述を例えばpackage/__init__.py
が含むとき、
from package import *
によってimportされるモジュールはhoge
,fuga
,piyo
のみとなります。
デフォルトではfrom hoge import *
の記述によってhoge中の全モジュールをimportできますが、
使わないモジュールのimportが発生する、名前空間を汚染するという点で推奨されていません。
一方で、冗長なモジュール記述を避けられるというメリットがあります。
importしたいモジュール群がある程度fixしているとき、この手法が使えそうです。
参考文献
https://docs.python.jp/3/tutorial/modules.html#importing-from-a-package