簡體   English   中英

帶別名的Python導入模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM