国产探花免费观看_亚洲丰满少妇自慰呻吟_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__的作用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 廊坊市| 永嘉县| 林口县| 霍城县| 安塞县| 恩施市| 万荣县| 永靖县| 土默特左旗| 莆田市| 三台县| 白沙| 乃东县| 河津市| 河间市| 三江| 龙胜| 宁阳县| 太仓市| 德惠市| 阿拉尔市| 长沙县| 齐河县| 忻城县| 临城县| 石城县| 唐河县| 石屏县| 香格里拉县| 梓潼县| 利辛县| 行唐县| 教育| 焦作市| 盘山县| 洛阳市| 长岭县| 黎川县| 龙泉市| 晋州市| 盐津县|