Python 簡易手冊

單元 68 - 模組與 import 陳述

Python 檔案就是模組 (module) ,這意思是說,程式中可以利用關鍵字 (keyword) import 引入任一檔案,然後利用引入檔案中的相關定義,例如有以下的 Python 程式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 設定變數
a = 0
b = 1

# 定義函數
def do_something():
    return 2

# 檔名: module_demo.py
# 說明: 《Python簡易手冊》的範例
# 網址: http://kaiching.org
# 作者: Kaiching Chang
# 時間: 2024 年 3 月

單元 44 - 函數與 return 陳述介紹如何定義函數 (function) 。

上例簡單定義兩個變數及一個函數,以下 Python 程式放在同一個路徑下示範如何利用 module_demo 的定義

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 只用 import 引入模組
import module_demo

# 必須連用模組名稱
print(module_demo.a)
print(module_demo.b)
print(module_demo.do_something())

# 直接引入名稱
from module_demo import a, b, do_something

# 直接使用名稱
print(a)
print(b)
print(do_something())

# 引入名稱並改名
from module_demo import a as A
from module_demo import b as B
from module_demo import do_something as C

# 使用改名後的名稱
print(A)
print(B)
print(C())

# 檔名: module_demo2.py
# 說明: 《Python簡易手冊》的範例
# 網址: http://kaiching.org
# 作者: Kaiching Chang
# 時間: 2024 年 3 月

以上共分成三組,第一組是只有使用 import ,這在使用相關定義都要連用 module_demo 來呼叫

 1
 2
 3
 4
 5
 6
 7
# 只用 import 引入模組
import module_demo

# 必須連用模組名稱
print(module_demo.a)
print(module_demo.b)
print(module_demo.do_something())

第二組是用 from 加上 import 直接引入名稱,這樣可以直接使用引入模組定義的名稱

 9
10
11
12
13
14
15
# 直接引入名稱
from module_demo import a, b, do_something

# 直接使用名稱
print(a)
print(b)
print(do_something())

如果是要像以上一次引入所有名稱,也可以在 import 之後改成星號

 9
10
# 直接引入所有名稱
from module_demo import *

不過一般是需要哪些定義就引入哪些定義,這樣的程式更容易閱讀。

第三組則是如果有名稱衝突,或是其他需求,直接引入名稱後可以再接上 as 來取別名,之後在程式中就要使用別名來呼叫

17
18
19
20
21
22
23
24
25
# 引入名稱並改名
from module_demo import a as A
from module_demo import b as B
from module_demo import do_something as C

# 使用改名後的名稱
print(A)
print(B)
print(C())

此例執行結果如下

> python module_demo2.py
0
1
2
0
1
2
0
1
2
>

使用標準程式庫程式庫 (standard library) 或以 pip 指令安裝的第三方程式庫 (third party library) 的方式都跟上述一樣。

參考資料

上一頁 單元 67 - 泛型
回 Python 簡易手冊 首頁
下一頁 單元 69 - 套件
回 Python 教材首頁
回程式語言教材首頁