文件樹:
\ ├── main.py ├── 類.py
classes.py
- 我在這個文件中定義了 3 個類
class clsA:
名稱=“clsA”
類 clsB:
名稱=“clsB”
類 clsC:
名稱=“clsC”
main.py
- 我的目的是將
classes.py
中的所有類導入到類main.classlist
中,但我不想在代碼中顯式枚舉所有這些類名稱。
類類列表:
# 從類中導入 clsA、clsB、clsC
## ^ 上面的行可以工作,但需要明確列出所有這些類名稱
從類導入 *
## ^ 上面的行不起作用:SyntaxError: import * only allowed at module level
打印(classlist.clsA.name)
# 預期打印出“clsA”
那麼有沒有簡單的方法我可以在 main.classlist
中導入 classes.py
中的所有類而不顯式列出它們?
或者是否有一種簡單的方法可以將 classes.py
中的所有類名列出到 [list]
中,然後嘗試將該列表導入 main。類列表
?
順便說一句,python 3.8+
謝謝。
您需要在同一目錄下創建一個__init__.py
文件,並在其中添加以下代碼:
init.py
__all__ = ['classes']
在 main.py
你只需要導入類。
main.py
導入類
班級名單:
經過
打印(classes.clsA.name)
打印(classes.clsB)
注意:在 python 中,類名是用 CamelCase 約定
編寫的,如 ClassList
。