我們之前看到了函數(shù)和對(duì)象撵渡。從本質(zhì)上來(lái)說(shuō)雷则,它們都是為了更好的組織已經(jīng)有的程序,以方便重復(fù)使用万伤。
模塊(module)也是為了同樣的目的窒悔,在Python中,一個(gè).py文件就構(gòu)成一個(gè)模塊敌买。通過(guò)模塊简珠,你可以調(diào)用其它文件中的程序。
引入模塊
我們先寫(xiě)一個(gè)firest.py的問(wèn)卷虹钮,內(nèi)容如下:
def laugh():
print 'HaHaHaHa'
再寫(xiě)一個(gè)second.py聋庵,并引入firsc中的程序:
import first
for i in range():
first.laugh()
在second.py中,我們使用了first.py中定義的laugh()函數(shù)芙粱。
引入模塊后祭玉,可以通過(guò)模塊.對(duì)象的方式來(lái)調(diào)用引入模塊中的某個(gè)對(duì)象。上面例子中春畔,first為引入的模塊脱货,laugh()是我們所引入的對(duì)象岛都。
Python中還有其他的引入方式,
import a as b # 引入模塊a振峻,并將模塊a重命名為b
from a import function1 # 從模塊a中引入function1對(duì)象臼疫。調(diào)用a中對(duì)象時(shí),我們不用再說(shuō)嘛模塊扣孟,即直接使用function1烫堤,而不是a.function1。
from a impory * # 從模塊a中引入所有對(duì)象哈打。調(diào)用a中對(duì)象時(shí)塔逃,我們不用再說(shuō)嘛模塊,即直接使用**對(duì)象**料仗,而不是**a.對(duì)象**湾盗。
這些引用方式,可以方便后面的程序書(shū)寫(xiě)立轧。
搜索路徑
Python會(huì)在以下路徑中搜索它想要尋找的模塊:
1格粪、程序所在的文件夾
2、標(biāo)準(zhǔn)庫(kù)的安裝路徑
3氛改、操作喜用環(huán)境變量PYTHONPATH所包含的路徑
如果你有自定義的模塊帐萎,或者下載的模塊,可以根據(jù)情況放在相應(yīng)的路徑胜卤,以便Python可以找到疆导。
模塊包
可以將功能相似的模塊放在同一個(gè)文件夾(比如是this_dir)中,構(gòu)建一個(gè)模塊包葛躏,通過(guò)
import this_dir.module
引入this_dir文件夾中的module模塊澈段。
該文件夾中必須包含一個(gè)**init.py的文件,提醒Python舰攒,該文件夾為一個(gè)模塊包败富。init.py可以是一個(gè)空文件。
總結(jié)
import module
module.object
__init__.py