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