一個(gè)模塊可以在邏輯上組織Python代碼。將相關(guān)的代碼到一個(gè)模塊中,使代碼更容易理解和使用。模塊是可以綁定和借鑒任意命名屬性的Python對(duì)象。
簡(jiǎn)單地說(shuō),一個(gè)模塊是由Python代碼的文件。一個(gè)模塊可以定義函數(shù),類(lèi)和變量。模塊還可以包括可運(yùn)行的代碼。
例子:
Python代碼的模塊名為aname通常位于一個(gè)名為aname.py。下面是一個(gè)簡(jiǎn)單的模塊,support.py作為例子
def print_func( par ): print "Hello : ", par return
import語(yǔ)句:
可以通過(guò)在其他一些Python源文件執(zhí)行import語(yǔ)句來(lái)使用任何Python源文件作為一個(gè)模塊。import的語(yǔ)法如下:
import module1[, module2[,... moduleN]
當(dāng)解釋器遇到import語(yǔ)句,它導(dǎo)入(import)模塊如果模塊出現(xiàn)在搜索路徑。搜索路徑是一個(gè)目錄列表,該解釋器導(dǎo)入模塊之前搜索。例如,導(dǎo)入模塊hello.py,需要把下面的命令在腳本的頂部:
#!/usr/bin/python# Import module supportimport support# Now you can call defined function that module as followssupport.print_func("Zara")
當(dāng)執(zhí)行上面的代碼,產(chǎn)生以下結(jié)果:
Hello : Zara
一個(gè)模塊被加載一次,不管導(dǎo)入的次數(shù)。這可防止模塊執(zhí)行發(fā)生多次導(dǎo)入。
from...import 語(yǔ)句
Python的from語(yǔ)句可以從一個(gè)模塊中導(dǎo)入特定的屬性到當(dāng)前的命名空間。from...import 語(yǔ)法如下:
from modname import name1[, name2[, ... nameN]]
例如,從模塊fib導(dǎo)入函數(shù)fibonacci,使用下面的語(yǔ)句:
from fib import fibonacci
此語(yǔ)句不導(dǎo)入整個(gè)模塊fib到當(dāng)前的命名空間;它只是介紹了fibonacci從模塊fib導(dǎo)入模塊的全局符號(hào)表列。
from...import * 語(yǔ)句:
它也可以通過(guò)使用下面的import語(yǔ)句導(dǎo)入從模塊到當(dāng)前的命名空間的所有名稱:
from modname import *
這提供了導(dǎo)入從模塊到當(dāng)前的命名空間中的所有項(xiàng)目一個(gè)簡(jiǎn)單的方法;不過(guò),這個(gè)語(yǔ)句應(yīng)謹(jǐn)慎使用。
定位模塊:
當(dāng)導(dǎo)入一個(gè)模塊,在下列序列模塊由Python解釋器搜索:
當(dāng)前目錄 如果未找到該模塊,然后Python搜索在shell變量PYTHONPATH每個(gè)目錄 如果這些方法都失敗,Python會(huì)檢查默認(rèn)路徑。在UNIX上,默認(rèn)路徑是正常是/usr/local/lib/python/模塊搜索路徑被存儲(chǔ)在系統(tǒng)模塊sys作為所述的sys.path變量。在sys.path的變量包含當(dāng)前目錄,PYTHONPATH和相關(guān)的默認(rèn)安裝。
PYTHONPATH變量:
在PYTHONPATH是一個(gè)環(huán)境變量,包括目錄列表中。 PYTHONPATH的語(yǔ)法shell變量PATH相同。
下面是Windows系統(tǒng)的典型PYTHONPATH:
set PYTHONPATH=c:/python20/lib;
新聞熱點(diǎn)
疑難解答
圖片精選