0
我有以下封裝結構:導入類從子模塊成(化名)命名空間
package_name/
__init__.py
some_module.py
another_module.py
# other classes
我使用的是從另一個Python文件這個包,其中我想做到以下幾點:
聲明一個別名
package_name
import package_name as pn
,並且指到內部
some_module.py
類,another_module.py
等如下:instance = pn.SomeClass(pn.AnotherClass(x, y))
即省略模塊名稱,而是僅使用包名稱的別名。
事情是這樣的:
import package_name as pn
from package_name import some_module to pn
是這樣的,或任何等價物,可能嗎?
我可以這樣做:
from package_name.some_module import SomeClass
from package_name.another_module import AnotherClass
instance = SomeClass(AnotherClass(x, y))
這:
import package_name.some_module
import package_name.another_module
instance = pn.some_module.SomeClass(pn.some_module.AnotherClass(x, y))
但這不起作用
import package_name.some_module as pn
import package_name.another_module as pn
instance = pn.SomeClass(pn.AnotherClass(x, y))
因爲第二as pn
覆蓋的第一個。
謝謝。你的第一個建議不適用於多個'import',但是在'__init __。py'中導入這些類會起到一定作用。 – emlai