初学__Python——用包来管理多个模块
目錄
一、包的組成
二、包的內(nèi)部引用
在 Java 中,通過包將不同的類組織在一起。類似的,在 Python 中也提供了包的功能,可以使用包來管理多個模塊。使用包的好處在于可以有效避免名字沖突,便于包的維護管理。Python 中的模塊包可以通過路徑導入模塊。
一、包的組成
包可以看做處于同一目錄中的模塊。在 Python 中首先使用目錄名,然后再使用模塊名導入所需要的模塊。在包的每個目錄中都必須包含一個名為 "__init__.py"(init 的前后均是兩條下劃線)的文件。"__init__.py" 可以是一個空文件,僅用于表示該目錄是一個包。
"__init__.py" 的主要用途是設(shè)置 ""__all__" 變量以及所包含的包初始化所需的代碼。對于在 from 中使用 "*" 通配符導入包內(nèi)所有名字時,在 "__init__.py" 中設(shè)置 "__all__" 變量可以保證名字的正確導入。
一個簡單的 Python 包的目錄組成如下圖:
在上圖所示的包中,如果需要導入 B 目錄中的 a.py 模塊,則在 Python 中可以使用以下語句之一。
from A.B import a # 使用 from 導入模塊import A.B.a # 使用 import 導入模塊有了包的概念就可以很好地解決模塊查找路徑的問題。只要將所有的模塊放在當前目錄中的某一文件夾內(nèi),然后在該文件夾中新建一個空的 "__init__.py" 文件,就可以通過目錄結(jié)構(gòu)的層次導入所需的模塊。而不必像前邊的例子那樣將子目錄的路徑添加到 sys.path 列表中。
二、包的內(nèi)部引用
Python 包中的模塊也可能需要相互引用。對于上圖中所示的位于 C 目錄中的 b.py,如果要引用同樣位于 C 目錄中的 a.py,則可以使用以下語句:
import a如果位于 C 目錄中的 b.py,如果要引用同樣位于 B 目錄中的 a.py,則可以使用以下語句:
from A.B import a總結(jié)
以上是生活随笔為你收集整理的初学__Python——用包来管理多个模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初学__Python——Python 可
- 下一篇: Python__数据结构与算法——表、栈