python3:module
生活随笔
收集整理的這篇文章主要介紹了
python3:module
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.Introduction
前面已經(jīng)學(xué)習(xí)了如何在的序中定義函數(shù)而重用代碼。如果想要在其他程序中重用很多函數(shù),那么該如何編寫程序呢?答案是使用模塊。模塊就是一個包含所有定義的函數(shù)和變量的文件。為了在其他程序中重用模塊,模塊的文件名必須以.py為擴(kuò)展名。 例如,使用sys模塊: #using_sys.py import sys; print 'the Command and Line arguments are :'; for i in sys.argv:print i;print '\n\n the python path is :',sys.path,'\n';這是如何工作的? 首先,利用import語句輸入sys模塊,這告訴Python,我們想要使用這個模塊。sys模塊包含了與Python解釋器和它的環(huán)境有關(guān)的函數(shù)。
2.字節(jié)編譯的.pyc文件
輸入一個模塊相對來說是一個比較費(fèi)時的事情,所以Python做了一些技巧,以便使輸入模塊更快一些。一種方法是創(chuàng)建字節(jié)編譯的文件,這些文件以*.pyc作為擴(kuò)展名。字節(jié)編譯的文件與Python變換程序的中間狀態(tài)有關(guān)。當(dāng)下次在別的程序輸入這個模塊的時候,*.pyc文件是十分有用的,速度上就會快得多。因?yàn)橐徊糠州斎肽K所需的處理已經(jīng)完成了。另外,字節(jié)編譯的文件也是與平臺無關(guān)的。3.from...import語句
如果想要直接輸入argv變量到程序中(避免在每次使用它時打sys.),那么可以使用from sys import argv語句。如果想要輸入所有sys模塊使用的名字,那么可以使用from sys?import *語句。這對于所有模塊都適用。一般說來,應(yīng)該避免使用from..import而使用import語句,因?yàn)檫@樣可以使你的程序更加易讀,也可以避免名稱的沖突。4.模塊的__name__
每個模塊都有一個名稱,在模塊中可以通過語句來找出模塊的名稱。這在一個場合特別有用,就如前面所提到的,當(dāng)一個模塊被第一次輸入的時候,這個模塊的主塊將被運(yùn)行。假如我們只想在程序本身被使用的時候運(yùn)行主塊,而在它被別的模塊輸入的時候不運(yùn)行主塊,該怎么做呢?這可以通過模塊的__name__屬性完成。#using__name__.py if __name__ == '__main__':print 'This program is being run by itself'; else:print 'I am being imported from another module';
5.Writing custom module
其實(shí)每一個Python程序就是一個模塊。
#mymodule.py def sayHello():print 'HellowtheWorld!'; version = '0.1'; #end of mymodule.py上面是一個模塊的例子。它與普通的Python程序相比并沒有什么特別之處。如何在其他的Python程序中使用這個模塊呢?
#mymodule_demo.py import mymodule; mymodule.sayHello(); print 'version', mymodule.version;
Python采用‘.’來調(diào)用其他模塊中的函數(shù)與成員變量。
上面的程序我們也可以使用from...import語法實(shí)現(xiàn):
#mymodule_demos.py from mymodule import sayHello,version; sayHello(); print 'version',version;
總結(jié)
以上是生活随笔為你收集整理的python3:module的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中is vs as
- 下一篇: Python4:DataStructur