Python創(chuàng)建模塊及模塊導(dǎo)入的方法
本文實(shí)例講述了Python創(chuàng)建模塊及模塊導(dǎo)入的方法。分享給大家供大家參考。具體分析如下:
python學(xué)習(xí)手冊(cè)中寫道:
定義模塊,只要使用文本編輯器,把一些python代碼輸入到文本中,然后以.py為后綴名進(jìn)行保存,任何此類文件都會(huì)被認(rèn)為是python模塊。
比如說,下面的代碼輸入到一個(gè)文件中,就可以看作是一個(gè)模塊:
def printme(var):
print var
if __name__ == '__main__':
printme(1)
假設(shè)說輸入到a.py中,那么import a就可以把這個(gè)模塊導(dǎo)入。
然后可執(zhí)行a.printme(3),屏幕即可打印出3:
>>> a.printme(3) 3 >>>
一個(gè)模塊頂層定義的變量,會(huì)自動(dòng)變成模塊的屬性。例如:
data=[1,2,3]
def printme(var):
print var
if __name__ == '__main__':
printme(1)
data變量就是模塊的一個(gè)屬性。其實(shí)printme也是一個(gè)屬性,只不過是一個(gè)函數(shù)罷了。
引入模塊示例如下:(假定此時(shí)data=[1,2,3]未定義)
>>> import a >>> a.data Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> a.data AttributeError: 'module' object has no attribute 'data' >>> reload(a) <module 'a' from 'C:/py\a.pyc'> >>> a.data Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> a.data AttributeError: 'module' object has no attribute 'data' >>>
從上述提示可以看出data屬性未定義,此時(shí)再在a.py文件中定義data=[1,2,3],重新加載a模塊,并輸出data屬性:
>>> reload(a) <module 'a' from 'C:/py\a.py'> >>> a.data [1, 2, 3] >>>
這里的reload函數(shù)可以重新加載一個(gè)模塊。如果在模塊代碼中更改了,那么需要重新加載。
上面a.data,就是訪問模塊中的屬性。
上面的例子是導(dǎo)入一個(gè)文件作為一個(gè)模塊。
其實(shí)python的模塊導(dǎo)入還有更豐富的內(nèi)容。
除了模塊名之外,python也可以導(dǎo)入指定目錄路徑。python代碼的目錄就稱為包。因此,這類導(dǎo)入就稱為包導(dǎo)入。事實(shí)上,包導(dǎo)入是把計(jì)算機(jī)上的目錄變成python的一個(gè)命名空間。而屬性就是目錄中包含的子目錄或者是模塊文件。
看下面例子:
在我的桌面上有一個(gè)aa文件夾,里面有bb文件夾,bb里面有a.py這個(gè)文件。
那么在aa和bb文件夾中分別放置一個(gè)__init__.py,之后,在命令行中import aa.bb.a,就可以導(dǎo)入模塊a了。
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Django:使用filter的pk進(jìn)行多值查詢操作
這篇文章主要介紹了Django:使用filter的pk進(jìn)行多值查詢操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Python類的動(dòng)態(tài)綁定實(shí)現(xiàn)原理
這篇文章主要介紹了Python類的動(dòng)態(tài)綁定實(shí)現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
python BitMap算法處理20億隨機(jī)整數(shù)去重
這篇文章主要為大家介紹了python BitMap算法處理20億隨機(jī)整數(shù)去重,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
使用tensorflow保存和恢復(fù)模型saver.restore
這篇文章主要介紹了使用tensorflow保存和恢復(fù)模型saver.restore方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
pytest自動(dòng)化測(cè)試中的fixture的聲明和調(diào)用
這篇文章主要為大家介紹了pytest自動(dòng)化測(cè)試中的fixture的聲明和調(diào)用,文中含有詳細(xì)示例操作有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10
python飛機(jī)大戰(zhàn) pygame游戲創(chuàng)建快速入門詳解
這篇文章主要介紹了python飛機(jī)大戰(zhàn) pygame游戲創(chuàng)建,結(jié)合實(shí)例形式詳細(xì)分析了Python使用pygame創(chuàng)建飛機(jī)大戰(zhàn)游戲的具體步驟與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-12-12

