大家新創(chuàng)建python即時(shí)常會(huì)看見__init_.py文件,接下來本文關(guān)鍵為大家介紹了有關(guān)Python庫中__init__.py文件的功效與使用方法的資料,原文中根據(jù)實(shí)例編碼推薦的十分詳盡,必須的小伙伴可以借鑒一下
序言
在Python施工中,大家經(jīng)常能看到含有“__init__.py”文件信息文件目錄,在PyCharm中,含有這一文件信息文件目錄被稱之為Pythod的包文件目錄,與文件目錄的標(biāo)志會(huì)有不同的表明。如圖所示,dir_example是1個(gè)空缺文件目錄,標(biāo)志是一個(gè)文件夾圖標(biāo),而init_example底下_init__.py文件,其標(biāo)志是一個(gè)包。
那么這樣的文檔有哪些作用,我們平常怎么使用呢?
一、__init__.py文件介紹
Python界定了兩類單肩包,基本包與類名包。基本包是一般單肩包,因?yàn)樗嬖赑ython3.2和更早版本號(hào)。1個(gè)基本包一般被完成為包括__init__.py文件的文件目錄。如果一個(gè)基本抱被導(dǎo)進(jìn)時(shí),這一__init__.py文件被隱式實(shí)行,其所界定對(duì)象被關(guān)聯(lián)到包的名字空間中。
這也是Python官方文檔上對(duì)__init__.py文件的描寫,我覺得他的意思非常簡單,也就是說Python文件都是根據(jù)文件目錄作為不同類型的控制器來組織,這一文件目錄被稱之為Python包文件目錄,Python可以通過檢索該目錄下文件來導(dǎo)進(jìn)有關(guān)的控制器??墒遣⒎撬械奈募夸浂寄鼙粰z索加上,只有在清單中包括__init__.py文件時(shí),這一文件目錄才能被Python當(dāng)成是一個(gè)包文件目錄,從而檢索加上里邊的文檔。這么做能讓程序編寫者自身操縱什么文件目錄能夠被Python導(dǎo)進(jìn)成包。
當(dāng)某一清單中包括__init__.py文件時(shí),Python在加入這一控制器以前,會(huì)第一實(shí)行這一文檔。因而,這一文檔也能被程序編寫者用于操縱界定包級(jí)別自變量。
總的來說,__init__.py文件最重要的的作用是2個(gè):
當(dāng)目錄下包括這一文檔時(shí),Python會(huì)把它作為成包文件目錄,從而可以用importxx.xx的方法導(dǎo)進(jìn)目錄下文件或是控制器。
應(yīng)用__init__.py文件能夠控制器導(dǎo)進(jìn)后的自變量與內(nèi)容,有利于程序編寫者操縱。
下面我們就看好多個(gè)事例就可以。
二、__init__.py文件的應(yīng)用實(shí)例
2.1、并沒有__init__.py文件的文件目錄,應(yīng)用importxx.xx會(huì)出錯(cuò)嗎?
看版本號(hào),在相對(duì)較低的版本號(hào)(如3.2以下的),并沒有__init__.py文件的文件目錄無法使用importxx.xx導(dǎo)進(jìn)有關(guān)控制器,但后面版本能夠。
2.2、在__init__.py文件中定義變量或是邏輯性將于導(dǎo)進(jìn)情況下強(qiáng)制執(zhí)行
比如,我們會(huì)有以下幾個(gè)目錄結(jié)構(gòu):
init_example/a_pkg/ __init__.py a.py init_test.py
即init_example工程底下個(gè)init_test.py文件和a_pkg文件目錄,a_pkg目錄下有__init__.py文件和一個(gè)a.py文件。
大家在a_pkg目錄下的__init__.py文件界定:
print("Hey,Iama__init__.pyfile")
那么,如果我們?cè)趇nit_test.py中內(nèi)容如下:
froma_pkgimport*
實(shí)行init_test.py我們可以得到如下結(jié)果:
Hey,Iama__init__.pyfile
因?yàn)樵趂roma_pkgimport*情況下,會(huì)第一實(shí)行a_pkg目錄下的__init__.py文件。
2.3、在__init__.py文件中定義變量或是方法,能夠被直接導(dǎo)入應(yīng)用
還是上面的文件目錄,假如我們?cè)赼_pkg目錄下的a.py界定如下內(nèi)容:
defa_method(): print("Iama_pkg!")
在a_pkg目錄下的__init__.py文件界定:
froma_pkg.aimporta_method
那么,大家在init_test.py中加入a_pkg可以直接加入a_method方法:
frominit_example.a_pkgimporta_methoda_method()
會(huì)打印如下內(nèi)容:
Iama_pkg!
2.4、在__init__.py文件中使用__all__方法
__all__方法可以在__init__.py文件界定一些包或是自變量,能夠在使用
frominit_example.a_pkgimport*
時(shí)界定*表達(dá)的內(nèi)容。
例如還是上面的內(nèi)容,但是我們?cè)赼_pkg目錄下的__init__.py文件定義:
__all__=["a"]
那么,我們?cè)趇nit_test.py中使用下面的語句可以引入a模塊:
from a_pkg import* a.a_method()
這時(shí)候依然會(huì)打印如下內(nèi)容:
I am a_pkg!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129035.html
摘要:模板函數(shù)到底長什么樣下面我們就可以來看看模板函數(shù)到底長什么樣了。當(dāng)然,首先得創(chuàng)建一個(gè)模板文件。總結(jié)通過打印中間結(jié)果和分析代碼,我們已經(jīng)大概知道了的模板是如何轉(zhuǎn)化成內(nèi)容的。下一篇文章會(huì)闡述模板的各種語法所對(duì)應(yīng)的動(dòng)態(tài)函數(shù)內(nèi)容。 web.py模板的實(shí)現(xiàn)原理 web.py的模板實(shí)現(xiàn)利用了Python的可執(zhí)行對(duì)象的動(dòng)態(tài)特性:根據(jù)模板內(nèi)容和渲染函數(shù)的參數(shù)創(chuàng)建一個(gè)函數(shù),該函數(shù)執(zhí)行的時(shí)候會(huì)返回一個(gè)Te...
本文關(guān)鍵給大家介紹了python程序流程裝包派發(fā)實(shí)例詳細(xì)說明,感興趣的小伙伴可以參考去了解一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪?! ∏把浴 ython程序編寫時(shí),部分人良好習(xí)慣可實(shí)現(xiàn)相同功能性的編碼放到同一個(gè)文件; 使用這個(gè)編碼只需import就行了; 下邊看這個(gè)事例。 testModel.py classTest: name='tom' ...
此篇文章關(guān)鍵闡述了PythonAsyncio生產(chǎn)調(diào)度基本原理詳細(xì)信息,Python.Asyncio是1個(gè)專而精的庫,它包括一些功效,而跟關(guān)鍵生產(chǎn)調(diào)度有關(guān)的思路除開三類可在等待目標(biāo)外,還有其他某些功效,他們各自坐落于runners.py,base_event.py,event.py3個(gè)文檔中 序言 在本文《PythonAsyncio中Coroutines,Tasks,Future可在等待對(duì)象...
此篇文章關(guān)鍵闡述了PythonAsyncio中Coroutines,Tasks,Future可等候目標(biāo)關(guān)聯(lián)及功效,文章內(nèi)容緊扣主題進(jìn)行詳盡的基本介紹,必須的朋友可以學(xué)習(xí)一下 前記 上一篇閱讀理解《Python中Async語法協(xié)同程序的完成》闡述了Python是如何用制作器來達(dá)到協(xié)同程序的及其PythonAsyncio根據(jù)Future和Task的封裝形式來達(dá)到協(xié)同程序的生產(chǎn)調(diào)度,但在Pyth...
摘要:是回調(diào)函數(shù),當(dāng)鏈接服務(wù)器和相應(yīng)數(shù)據(jù)傳輸完畢時(shí)觸發(fā)本函數(shù)可選。僅僅是針對(duì)的,在中,已經(jīng)沒有這個(gè)模塊了,取代它的是。由于以流式讀取文件,從而速度較快,切少占用內(nèi)存,但是操作上稍復(fù)雜,需要用戶實(shí)現(xiàn)回調(diào)函數(shù)。 編寫模塊 模塊是程序 模塊就是一個(gè)擴(kuò)展名為.py的Python程序。 編寫模塊 #!/usr/bin/env python # coding=utf-8 lang = python 引...
閱讀 928·2023-01-14 11:38
閱讀 902·2023-01-14 11:04
閱讀 759·2023-01-14 10:48
閱讀 2065·2023-01-14 10:34
閱讀 968·2023-01-14 10:24
閱讀 844·2023-01-14 10:18
閱讀 512·2023-01-14 10:09
閱讀 591·2023-01-14 10:02