国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

對Python模塊導入時全局變量__all__的作用詳解

2020-02-16 00:35:56
字體:
來源:轉載
供稿:網友

Python中一個py文件就是一個模塊,“__all__”變量是一個特殊的變量,可以在py文件中,也可以在包的__init__.py中出現。

1、在普通模塊中使用時,表示一個模塊中允許哪些屬性可以被導入到別的模塊中,

如:全局變量,函數,類。如下,test1.py和main.py

test1.py

__all__=["test"]def test(): print('----test-----') def test1(): print('----test1----')

main.py

from test1 import *  def main(): test()  #test1() main()

兩個文件在同一個目錄下。

此時執行python main.py時結果如下:

Python模塊導入時全局變量__all__作用

但是如果放開main.py的注釋后,如下:

Python模塊導入時全局變量__all__作用

那么在模塊中的__all__變量就是為了限制或者指定能被導入到別的模塊的函數,類,全局變量等,如果指定了那么只能是指定的那些可以被導入,沒有指定默認就是全部可以導入,當然私有屬性應該除外。

2、在包下的__init__.py中

sound/effects/__init__.py中添加__all__ = ["echo", "surround", "reverse"]

那么就會在from sound.effects import *時,包含上面三個模塊。當__init__.py為空時,只是導入這個包,并非導入模塊。

__init__.py中可以執行一些初始化內容,比如:

from . import test1 導入當前目錄下的test1模塊

from .. import test 導入上一層目錄下的test模塊

因為導入 包時會首先執行下__init__.py這個文件

以上這篇對Python模塊導入時全局變量__all__的作用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张北县| 井研县| 英德市| 信宜市| 康保县| 尼木县| 海丰县| 皋兰县| 睢宁县| 贵州省| 香格里拉县| 邵阳县| 思茅市| 丹寨县| 普兰县| 崇义县| 天津市| 广宁县| 二手房| 浦县| 三门峡市| 巴林右旗| 罗城| 朔州市| 光山县| 天水市| 泉州市| 嫩江县| 青神县| 铜梁县| 托克托县| 清流县| 绥中县| 怀化市| 札达县| 鹤岗市| 思茅市| 额敏县| 高雄市| 龙岩市| 大新县|