詳解python __init__.py 和 __all__作用
python __init__.py 和 __all__作用
一、__init__.py
1、導(dǎo)入文件夾包的時(shí)候,會(huì)運(yùn)行寫在該文件夾包下的__init__.py文件
如 import package
import package.xxx
from package import xxx 等
這樣會(huì)自動(dòng)運(yùn)行package文件夾下的__init__.py文件
2、__init__.py文件中可以定義該文件夾包的名字空間,定義的方法就是在__init__.py文件里導(dǎo)入這些名字
如在package文件夾下的__init__.py文件里,可以導(dǎo)入該文件夾下的所有py文件(模塊),這樣就將所有模塊名導(dǎo)入了package的名字空間:
如package文件夾下有file1.py和file2.py兩個(gè)模塊
在package的__init__.py里from . import *就將file1和file2導(dǎo)入了package的名字空間
這樣在別處import package導(dǎo)入package包,就可以正常寫調(diào)用語(yǔ)句如package.file1.func(), package.file2.func()
二、__all__屬性
文件夾包下的__ini__.py文件里可以定義__all__屬性,作用是在別處模糊導(dǎo)入該包中的所有名字時(shí)(from package import *),可以隱藏包中名字空間中的一些名字
補(bǔ)充:python 包 __init__ .py 作用 和 __all__方法
__init__.py的主要作用:
1. Python中package的標(biāo)識(shí),不能刪除
2. 定義__all__用來(lái)模糊導(dǎo)入
3. 編寫Python代碼(不建議在__init__中寫python模塊,可以在包中在創(chuàng)建另外的模塊來(lái)寫,盡量保證__init__.py簡(jiǎn)單)
__all__的作用:
模糊導(dǎo)入中的*中的模塊是由__all__來(lái)定義的,__init__.py的另外一個(gè)作用就是定義package中的__all__,用來(lái)模糊導(dǎo)入,如__init__.py:
到此這篇關(guān)于python __init__.py 和 __all__作用的文章就介紹到這了,更多相關(guān)python __init__.py 和 __all__作用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python編程使用有限狀態(tài)機(jī)識(shí)別地址有效性
這篇文章主要介紹了Python編程中如何使用有限狀態(tài)機(jī)識(shí)別地址有效性,如何識(shí)別一個(gè)地址是否有效,確切的講,如何編程識(shí)別一個(gè)中國(guó)地址是否有效2021-09-09python實(shí)現(xiàn)決策樹ID3算法的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)決策樹ID3算法的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05centos 安裝python3.6環(huán)境并配置虛擬環(huán)境的詳細(xì)教程
這篇文章主要介紹了centos-安裝python3.6環(huán)境并配置虛擬環(huán)境的詳細(xì)教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02python自動(dòng)化測(cè)試selenium核心技術(shù)處理彈框
這篇文章主要為大家介紹了python自動(dòng)化測(cè)試selenium核心技術(shù)處理彈框的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11python 19個(gè)值得學(xué)習(xí)的編程技巧
這篇文章主要介紹了python 19個(gè)值得學(xué)習(xí)的編程技巧,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-08-08如何實(shí)現(xiàn)更換Jupyter Notebook內(nèi)核Python版本
這篇文章主要介紹了如何實(shí)現(xiàn)更換Jupyter Notebook內(nèi)核Python版本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05