詳解python __init__.py 和 __all__作用
python __init__.py 和 __all__作用
一、__init__.py
1、導(dǎo)入文件夾包的時(shí)候,會運(yùn)行寫在該文件夾包下的__init__.py文件
如 import package
import package.xxx
from package import xxx 等
這樣會自動(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)用語句如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)識,不能刪除
2. 定義__all__用來模糊導(dǎo)入
3. 編寫Python代碼(不建議在__init__中寫python模塊,可以在包中在創(chuàng)建另外的模塊來寫,盡量保證__init__.py簡單)
__all__的作用:
模糊導(dǎo)入中的*中的模塊是由__all__來定義的,__init__.py的另外一個(gè)作用就是定義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設(shè)計(jì)模式之職責(zé)鏈模式原理與用法實(shí)例分析
這篇文章主要介紹了Python設(shè)計(jì)模式之職責(zé)鏈模式,結(jié)合具體實(shí)例形式分析了Python責(zé)任鏈模式的概念、原理、定義與使用方法,需要的朋友可以參考下2019-01-01
python PaddleOCR庫用法及知識點(diǎn)詳解
在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python PaddleOCR庫用法及知識點(diǎn)詳解內(nèi)容,對此有需要的朋友們可以學(xué)習(xí)參考下。2021-07-07
PyTorch與PyTorch?Geometric的安裝過程
這篇文章主要介紹了PyTorch與PyTorch?Geometric的安裝,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
在Linux中通過Python腳本訪問mdb數(shù)據(jù)庫的方法
這篇文章主要介紹了在Linux中通過Python腳本訪問mdb數(shù)據(jù)庫的方法,本文示例基于debian系的Linux系統(tǒng),需要的朋友可以參考下2015-05-05
人臉識別實(shí)戰(zhàn)之Opencv+SVM實(shí)現(xiàn)人臉識別
這篇文章主要介紹了通過Opencv+SVM實(shí)現(xiàn)人臉識別功能,文中的示例代碼介紹詳細(xì),對于我們學(xué)習(xí)人臉識別和OpenCV都有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下2021-12-12
TensorFlow繪制loss/accuracy曲線的實(shí)例
今天小編就為大家分享一篇TensorFlow繪制loss/accuracy曲線的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
python 中的9個(gè)實(shí)用技巧,助你提高開發(fā)效率
這篇文章主要介紹了python 中的9個(gè)實(shí)用技巧,幫助大家提高python開發(fā)時(shí)的效率,感興趣的朋友可以了解下2020-08-08
Python連接KingbaseES數(shù)據(jù)庫實(shí)現(xiàn)增刪改查(Ubuntu系統(tǒng))
本文介紹了在Ubuntu系統(tǒng)中使用Python連接KingbaseES數(shù)據(jù)庫的方法,主要內(nèi)容包括:安裝與Python版本匹配的ksycopg2驅(qū)動(dòng);配置環(huán)境變量和連接參數(shù);實(shí)現(xiàn)數(shù)據(jù)庫連接、建表及增刪改查操作;封裝一個(gè)可復(fù)用的數(shù)據(jù)庫操作類,通過代碼示例演示了數(shù)據(jù)插入、查詢、更新和刪除等常見操作2025-09-09

