[英]Python import module with alias
我是Python 3的新手,目前正在學習如何創建Python模塊。 我創建了以下包結構。
maindir
test.py
package
__init__.py
subpackage
__init__.py
module.py
這是我的module.py文件
name="John"
age=21
這是我的test.py文件
import package.subpackage.module
print(module.name)
當我運行test.py時收到此錯誤NameError: name 'module' is not defined
import package.subpackage.module as mymod
NameError: name 'module' is not defined
但是,當我更改import語句以import package.subpackage.module as mymod
並使用print(mymod.name)
打印名稱時,則按預期工作。 它的印刷名稱約翰。 我不明白為什么它使用第二種情況而不是第一種情況。
也許你在嘗試的是這個:
from package.subpackage import module
然后您可以在之后引用module
作為名稱。
如果你這樣做:
import package.subpackage.module
然后你的模塊將被稱為package.subpackage.module
。
通過一點點閱讀,我現在明白了這種行為。 如果我錯了,請糾正我。
使用這個import package.subpackage.module
樣式的import語句,您必須使用其完全限定名稱訪問對象。 例如,在這種情況下print(package.subpackage.module.name)
使用別名我可以使用import package.subpackage.module as mymod
縮短長名稱import package.subpackage.module as mymod
並直接使用print(mymod.name)
簡而言之print(package.subpackage.module.name)
== print(mymod.name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.