在Python中,可以使用Function來實現(xiàn)代碼重用。如果需要重用一組function,則需要使用Modules。
對于Modules,可以使用兩種方法編寫。第一、也是最簡單的方法,就是使用Python編寫。可以創(chuàng)建一個后綴名為.py的文件,在其中編寫函數(shù)和變量。另外一種方法是直接使用本機語言,例如c。在python中可以直接使用。
對于代碼重用,存在的一個問題是如何搜尋可重用的代碼。對于c/c++,它們需要實現(xiàn)編譯、連接,所以不需要動態(tài)搜尋。而對于解釋型語言,如java,需要動態(tài)加載。在java中,存在classpath的概念。也就是說,虛擬機對于程序中需要使用資源,會動態(tài)的再classpath中搜尋。對于Python而言,思路基本上相同。Python的解釋器會在系統(tǒng)路徑(sys.path)中搜索。需要注意的當前路徑總是在sys.path中。也就是說,如果需要使用某個modules,只要將.py文件放在當前目錄下即可。
在代碼中,如果使用其他模塊,則用關鍵字import來引用。例如,獲取sys.path信息:
還有一種引入modules的方式:from..import..。意為從指定模塊中引入指定的函數(shù)或變量,這樣在使用這些函數(shù)或模塊時,就不需要使用modules的名稱來引用了。例如:
這樣在程序中就可以直接使用path變量了。如果需要引用指定模塊內的所有函數(shù)或變量,可以使用 from modulename import *。
模塊(modules)是組織函數(shù)和類的一種方式,package是組織modules的方式。
Package是存放.py文件的文件夾,只不過需要在這個文件夾下放置__init__.py的文件,以表示這個文件夾下有Python的modules。如果需要使用這個package,只需將這個文件夾放在sys.path的路徑下就可以了。
最后,補充一個小的知識點——dir函數(shù)。使用dir函數(shù),可以獲得modules或function內部的變量和函數(shù)定義。dir接受任何類型的對象參數(shù)。
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答??! 點擊進入論壇