ファイル ツリー:
\
├──main.py
├──classes.py
classes.py
- このファイルに 3 つのクラスを定義しました
class clsA:
名前 = "clsA"
クラス clsB:
名前 = "clsB"
クラス clsC:
名前 = "clsC"
main.py
- 私の目的は、
classes.py
内のすべてのクラスをクラス main.classlist
にインポートすることですが、これらすべてのクラス名をコードで明示的に列挙したくありません。
class classlist:
# クラスからインポート clsA, clsB, clsC
## ^ 上記の行は機能しますが、これらすべてのクラス名を明示的にリストする必要があります
クラスのインポートから *
## ^ 上記の行が機能しない: SyntaxError: import * モジュール レベルでのみ許可
print(classlist.clsA.name)
# 予期される出力 "clsA"
classes.py
のすべてのクラスを main.classlist
に明示的にリストせずにインポートできる簡単な方法はありますか?
または、classes.py
のすべてのクラス名を [list]
にリストして、そのリストを main にインポートする簡単な方法はありますか。クラスリスト
?
ところで、python 3.8+
ありがとうございます。
同じディレクトリに __init__.py
ファイルを作成し、次のコードを追加する必要があります:
init.py
__all__ = ['classes']
main.py
では、クラスをインポートするだけです。
main.py
インポート クラス
クラスクラスリスト:
合格
印刷 (classes.clsA.name)
印刷 (classes.clsB)
注: Python では、クラス名は ClassList
のように CamelCase 規則
で記述されます。