作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!
我們之前看到了函數和對象。從本質上來說,它們都是為了更好的組織已經有的程序,以方便重復利用。
模塊(module)也是為了同樣的目的。在Python中,一個.py文件就構成一個模塊。通過模塊,你可以調用其它文件中的程序。
引入模塊
我們先寫一個first.py文件,內容如下:
def laugh(): print 'HaHaHaHa'
再寫一個second.py,並引入first中的程序:
import first for i in range(10): first.laugh()
在second.py中,我們使用了first.py中定義的laugh()函數。
引入模塊后,可以通過模塊.對象的方式來調用引入模塊中的某個對象。上面例子中,first為引入的模塊,laugh()是我們所引入的對象。
Python中還有其它的引入方式,
import a as b # 引入模塊a,並將模塊a重命名為b
from a import function1 # 從模塊a中引入function1對象。調用a中對象時,我們不用再說明模塊,即直接使用function1,而不是a.function1。
from a import * # 從模塊a中引入所有對象。調用a中對象時,我們不用再說明模塊,即直接使用對象,而不是a.對象。
這些引用方式,可以方便后面的程序書寫。
搜索路徑
Python會在以下路徑中搜索它想要尋找的模塊:
- 程序所在的文件夾
- 標准庫的安裝路徑
- 操作系統環境變量PYTHONPATH所包含的路徑
如果你有自定義的模塊,或者下載的模塊,可以根據情況放在相應的路徑,以便Python可以找到。
模塊包
可以將功能相似的模塊放在同一個文件夾(比如說this_dir)中,構成一個模塊包。通過
import this_dir.module
引入this_dir文件夾中的module模塊。
該文件夾中必須包含一個__init__.py的文件,提醒Python,該文件夾為一個模塊包。__init__.py可以是一個空文件。
總結
import module
module.object
__init__.py