標籤:

python的包和模塊

python的包和模塊http://blog.csdn.net/meteor1113/archive/2009/07/15/4350224.aspx模塊

一個.py文件就是一個python模塊。

把一堆相關的python模塊放在一個目錄下,再加上一個__init__.py文件就構成了一個python 包,python包可以嵌套,嵌套之後有點像java的包。__init__.py文件可以為空,不過,一般它時而會包含一個__version__的變數,保存這個包的版本信息,另外還有一個__all__的列表,包括要import 時要導入的模塊。當然,__init__.py的內容不是絕對的,也可以什麼都不寫,還可以加上其它任何自己認為需要的代碼。

* import 和from... import

導入模塊用import module或者from module import *,它們是有區別的:

import module會導入module這個模塊里的所有標識,但是這些標識現在都在module名字空間下。

from module import *也會導入module中所有標識,但是標識不在module名字空間下了,它放到在當前名字空間里。並且,這句話執行完之後,當前名字空間中並不存在 module這個標識。from ... import ...語句還可用於從一個模塊中導入部分標識,寫法是"from module import 標識名",這樣就只有指定的標識被導入,這種方式可以精確控制導入的內容,防止導入整個模塊造成名稱污染。

import和from ... import還可用於導入包。可以from 包.子包.模塊 import 函數,也可以form 包.子包 import*,還可以from 包.子包 import 模塊。

導入模塊或包按下面順序進行路徑查找:

1.當前目錄

2.環境變數PYTHONPATH所指的目錄列表

3.python解釋器的安裝目錄

一個Py文件可以看作是一個模塊。當import一個包的時候,所獲得的東西只有__init__.py裡面的東西,import一個模塊的時候會去執行此模塊的文件中的程序。

推薦閱讀:

flash模塊製作軟體
模塊BH2
給朋友製作的中欄模塊
計時模塊

TAG:模塊 |