真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python__init__.py文件使用

__init__.py的主要作用是:

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供昆山網(wǎng)站建設(shè)、昆山做網(wǎng)站、昆山網(wǎng)站設(shè)計、昆山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、昆山企業(yè)網(wǎng)站模板建站服務(wù),十年昆山做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

1. Python中package的標(biāo)識,不能刪除

2. 定義__all__用來模糊導(dǎo)入

3. 編寫Python代碼(不建議在__init__中寫python模塊,可以在包中在創(chuàng)建另外的模塊來寫,盡量保證__init__.py簡單)

__init__.py 文件的作用是將文件夾變?yōu)橐粋€Python模塊,Python 中的每個模塊的包中,都有__init__.py 文件。

通常__init__.py 文件為空,但是我們還可以為它增加其他的功能。我們在導(dǎo)入一個包時,實際上是導(dǎo)入了它的__init__.py文件。這樣我們可以在__init__.py文件中批量導(dǎo)入我們所需要的模塊,而不再需要一個一個的導(dǎo)入。

Python __init__.py 文件使用

Python __init__.py 文件使用

注意這里訪問__init__.py文件中的引用文件,需要加上包名。

__init__.py中還有一個重要的變量,__all__, 它用來將模塊全部導(dǎo)入。

Python __init__.py 文件使用

Python __init__.py 文件使用

這時就會把注冊在__init__.py文件中__all__列表中的模塊和包導(dǎo)入到當(dāng)前文件中來。

可以了解到,__init__.py主要控制包的導(dǎo)入行為。要想清楚理解__init__.py文件的作用,還需要詳細(xì)了解一下import語句引用機(jī)制:

導(dǎo)入包

多個相關(guān)聯(lián)的模塊組成一個包,以便于維護(hù)和使用,同時能有限的避免命名空間的沖突。一般來說,包的結(jié)構(gòu)可以是這樣的:

Python __init__.py 文件使用

有以下幾種導(dǎo)入方式:

Python __init__.py 文件使用

使用from語句可以把模塊直接導(dǎo)入當(dāng)前命名空間,from語句并不引用導(dǎo)入對象的命名空間,而是將被導(dǎo)入對象直接引入當(dāng)前命名空間。

應(yīng)用舉例:

程序結(jié)構(gòu):

-project

-data

-src

-filterCorpus.py

-translateMonolingual.py

問題描述:在translateMonolingual.py中引用filterCorpus.py中的函數(shù)fun1

Python __init__.py 文件使用

即使translateMonolingual.py和filterCorpus.py在同一文件夾下,若translateMonolingual.py中直接引用import filterCorpus會出錯

。這是因為python3需要絕對路徑引用,從project的根位置開始指明被引模塊的位置。通用格式為:from directory import module。如果module存在于directory1下的directory2,那么建議寫成from directory1.directory2 import module

為什么需要__init__.py

__init__.py文件用于組織包(package)。這里首先需要明確包(package)的概念。什么是包(package)?簡單來說,包是含有python模塊的文件夾。一個python模塊(module)為一個py文件,里面寫有函數(shù)和類。包(package)是為了更好的管理模塊(module),相當(dāng)于多個模塊的父節(jié)點。

當(dāng)文件夾下有__init__.py時,表示當(dāng)前文件夾是一個package,其下的多個module統(tǒng)一構(gòu)成一個整體。這些module都可以通過同一個package引入代碼中。

__init__.py文件怎么寫

可以什么都不寫,但如果想使用from package1 import *這種寫法的話,需要在__init__.py中加上:

__all__= ['file1','file2']#package1下有file1.py,file2.py

python中__init__.py文件的作用實例

python的每個模塊的包中,都有一個__init__.py文件,有了這個文件,我們才能導(dǎo)入這個目錄下的module。

那么,__init__.py還有什么別的功能呢?

其實,__init__.py里面還是可以有內(nèi)容的,我們在導(dǎo)入一個包時,實際上導(dǎo)入了它的__init__.py文件。

我們可以再__init__.py文件中再導(dǎo)入其他的包,或者模塊。

Python __init__.py 文件使用

這樣,當(dāng)我們導(dǎo)入這個包的時候,__init__.py文件自動運行。幫我們導(dǎo)入了這么多個模塊,我們就不需要將所有的import語句寫在一個文件里了,也可以減少代碼量。

不需要一個個去導(dǎo)入module了。

__init__.py 中還有一個重要的變量,叫做 __all__。我們有時會使出一招“全部導(dǎo)入”,也就是這樣:

from PackageName import *

這時 import 就會把注冊在包 __init__.py 文件中 __all__ 列表中的子模塊和子包導(dǎo)入到當(dāng)前作用域中來。比如:

#文件 __init__.py

__all__= ["Module1","Module2","subPackage1","subPackage2"]


當(dāng)前題目:Python__init__.py文件使用
URL標(biāo)題:http://weahome.cn/article/pehpoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部