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