模塊讓你能夠有邏輯地組織你的Python代碼段。
把相關(guān)的代碼分配到一個模塊里能讓你的代碼更好用,更易懂。
模塊也是Python對象,具有隨機的名字屬性用來綁定或引用。
簡單地說,模塊就是一個保存了Python代碼的文件。模塊能定義函數(shù),類和變量。模塊里也能包含可執(zhí)行的代碼。
例子
一個叫做aname的模塊里的Python代碼一般都能在一個叫aname.py的文件中找到。下例是個簡單的模塊support.py。
defprint_func(par):
print"Hello:",par
return
import語句
想使用Python源文件,只需在另一個源文件里執(zhí)行import語句,語法如下:
importmodule1[,module2[,...moduleN]
當(dāng)解釋器遇到import語句,如果模塊在當(dāng)前的搜索路徑就會被導(dǎo)入。
搜索路徑是一個解釋器會先進行搜索的所有目錄的列表。如想要導(dǎo)入模塊hello.py,需要把命令放在腳本的頂端:
#!/usr/bin/python
#-*-coding:UTF-8-*-
#導(dǎo)入模塊
importsupport
#現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了
support.print_func("Zara")
以上實例輸出結(jié)果:
Hello:Zara
一個模塊只會被導(dǎo)入一次,不管你執(zhí)行了多少次import。這樣可以防止導(dǎo)入模塊被一遍又一遍地執(zhí)行。
From…import語句
Python的from語句讓你從模塊中導(dǎo)入一個指定的部分到當(dāng)前命名空間中。語法如下:
frommodnameimportname1[,name2[,...nameN]]
例如,要導(dǎo)入模塊fib的fibonacci函數(shù),使用如下語句:
fromfibimportfibonacci
這個聲明不會把整個fib模塊導(dǎo)入到當(dāng)前的命名空間中,它只會將fib里的fibonacci單個引入到執(zhí)行這個聲明的模塊的全局符號表。
From…import*語句
把一個模塊的所有內(nèi)容全都導(dǎo)入到當(dāng)前的命名空間也是可行的,只需使用如下聲明:
frommodnameimport*
這提供了一個簡單的方法來導(dǎo)入一個模塊中的所有項目。然而這種聲明不該被過多地使用。
定位模塊
當(dāng)你導(dǎo)入一個模塊,Python解析器對模塊位置的搜索順序是:
當(dāng)前目錄
如果不在當(dāng)前目錄,Python則搜索在shell變量PYTHONPATH下的每個目錄。
如果都找不到,Python會察看默認路徑。UNIX下,默認路徑一般為/usr/local/lib/python/。
模塊搜索路徑存儲在system模塊的sys.path變量中。變量里包含當(dāng)前目錄,PYTHONPATH和由安裝過程決定的默認目錄。
PYTHONPATH變量
作為環(huán)境變量,PYTHONPATH由裝在一個列表里的許多目錄組成。PYTHONPATH的語法和shell變量PATH的一樣。
在Windows系統(tǒng),典型的PYTHONPATH如下:
setPYTHONPATH=c:\python20\lib;
在UNIX系統(tǒng),典型的PYTHONPATH如下:
setPYTHONPATH=/usr/local/lib/python
以上內(nèi)容為大家介紹了Python的文件模塊,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。http://m.2667701.com/