8.1、包,__init__.py,
阿新 • • 發佈:2018-02-04
img erl bs4 pos 化工 lar es2017 add inner
包:
- 為了組織好模塊,將多個模塊組合為一個包,所以包用於存放python模塊
- 包通常是一個文件夾,當文件夾當作包使用時,文件夾需要包含__init__.py文件
- __init__.py的內容可以為空,一般用來進行包的某些初始化工作或者設置__all__值,__all__是在from ... import * 語句使用的,__all__中定義的模塊將在from ... import * 中全部導入
目錄結構:
test1代碼:
package_test.__init__.py代碼:
inner代碼:
導入包的test1模塊,以及子包的inner模塊:
from package_test importtest1 from package_test.child_package import inner -----------------運行結果: run in package_test.__init__.py import test1 done run in inner
__init__.py的常見用途:
- 批量導入我們所需要的模塊
__init__代碼:
b導入package_test的代碼:
import package_test print(package_test.re,package_test.bs4) -------------- 運行結果:<module ‘re‘ from ‘I:\\python3\\lib\\re.py‘> <module ‘bs4‘ from ‘I:\\python3\\lib\\site-packages\\bs4\\__init__.py‘>
- __all__,用來將模塊全部導入,與上面不同的是,__all__只能導入包中有的模塊:
目錄結構:
__init__代碼:
__all__=[‘test1‘]
b導入package_test的代碼:
from package_test import *
8.1、包,__init__.py,