假設我有一個這樣的模塊:module├── __init__.py└── submodule ├── B.py ├── __init__.py └── subsubmodule ├── A.py └── __init__.py具有以下文件內容:module/submodule/subsubmodule/A.py class A: passmodule/submodule/subsubmodule/__init__.py from .A import Amodule/submodule/__init__.py from .subsubmodule import A from .B import Bmodule/submodule/B.py class B: passmodule/__init__.py from .submodule import A, B當我導入模塊時,我希望類A和B立即在頂層可用。按照我設置的方式,效果很好。但我最終還是submodule在module. 為什么?這是可以還是有問題?對我來說它看起來不干凈。我可以避免這種情況嗎?In [1]: import moduleIn [2]: dir(module)Out[2]: ['A', 'B', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'submodule'] # <------------ why is that here? 我說from .submodule import A, B在__init__.py的module。我從來沒有說過from . import submodule。所以中間模塊顯然被拖到了命名空間中。是否應該避免這種情況,如果是的話如何避免。
模塊導入結構是否應該避免將中間模塊拖到更高的命名空間中?如果是這樣,怎么辦?
慕婉清6462132
2023-12-20 19:48:48