python的包和模塊http://blog.csdn.net/meteor1113/archive/2009/07/15/4350224.aspx 模塊 一個.py文件就是一個python模塊。 包把一堆相關(guān)的python模塊放在一個目錄下,再加上一個__init__.py文件就構(gòu)成了一個python 包,python包可以嵌套,嵌套之后有點像java的包。__init__.py文件可以為空,不過,一般它時而會包含一個__version__的變量,保存這個包的版本信息,另外還有一個__all__的列表,包括要import 時要導(dǎo)入的模塊。當(dāng)然,__init__.py的內(nèi)容不是絕對的,也可以什么都不寫,還可以加上其它任何自己認(rèn)為需要的代碼。 * import 和from... import 導(dǎo)入模塊用import module或者from module import *,它們是有區(qū)別的: import module會導(dǎo)入module這個模塊里的所有標(biāo)識,但是這些標(biāo)識現(xiàn)在都在module名字空間下。 from module import *也會導(dǎo)入module中所有標(biāo)識,但是標(biāo)識不在module名字空間下了,它放到在當(dāng)前名字空間里。并且,這句話執(zhí)行完之后,當(dāng)前名字空間中并不存在 module這個標(biāo)識。from ... import ...語句還可用于從一個模塊中導(dǎo)入部分標(biāo)識,寫法是"from module import 標(biāo)識名",這樣就只有指定的標(biāo)識被導(dǎo)入,這種方式可以精確控制導(dǎo)入的內(nèi)容,防止導(dǎo)入整個模塊造成名稱污染。 import和from ... import還可用于導(dǎo)入包??梢詅rom 包.子包.模塊 import 函數(shù),也可以form 包.子包 import*,還可以from 包.子包 import 模塊。 導(dǎo)入模塊或包按下面順序進行路徑查找: 1.當(dāng)前目錄 2.環(huán)境變量PYTHONPATH所指的目錄列表 3.python解釋器的安裝目錄 一個Py文件可以看作是一個模塊。當(dāng)import一個包的時候,所獲得的東西只有__init__.py里面的東西, |
|