本文實(shí)例講述了Python包,__init__.py功能與用法。分享給大家供大家參考,具體如下:
包:
- 為了組織好模塊,將多個(gè)模塊組合為一個(gè)包,所以包用于存放python模塊
- 包通常是一個(gè)文件夾,當(dāng)文件夾當(dāng)作包使用時(shí),文件夾需要包含__init__.py文件
- __init__.py的內(nèi)容可以為空,一般用來進(jìn)行包的某些初始化工作或者設(shè)置__all__值,__all__是在from ... import * 語句使用的,__all__中定義的模塊將在from ... import * 中全部導(dǎo)入
目錄結(jié)構(gòu):
test1代碼:
package_test.__init__.py代碼:
inner代碼:
導(dǎo)入包的test1模塊,以及子包的inner模塊:
1
2
3
4
5
6
7
8
9
10
|
from package_test import test1 from package_test.child_package import inner #-----------------運(yùn)行結(jié)果: run in package_test.__init__.py import test1 done run in inner |
__init__.py的常見用途:
- 批量導(dǎo)入我們所需要的模塊
__init__代碼:
b導(dǎo)入package_test的代碼:
1
2
3
4
5
6
7
8
|
import package_test print (package_test.re,package_test.bs4) #-------------- #運(yùn)行結(jié)果: <module 're' from 'I:\\python3\\lib\\re.py' > <module 'bs4' from 'I:\\python3\\lib\\site-packages\\bs4\\__init__.py' > |
- __all__,用來將模塊全部導(dǎo)入,與上面不同的是,__all__只能導(dǎo)入包中有的模塊:
目錄結(jié)構(gòu):
__init__代碼:
1
|
__all__ = [ 'test1' ] |
b導(dǎo)入package_test的代碼:
1
|
from package_test import * |
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
原文鏈接:https://www.cnblogs.com/progor/p/8413412.html