Python模組導入:import的使用方法
1. 基本導入方式
# 導入整個模組
import math
print(math.pi) # 3.141592653589793
# 導入多個模組
import math, random
print(random.randint(1, 10))
# 使用as給模組取別名
import math as m
print(m.sqrt(16)) # 4.0
2. from…import語句
# 從模組中導入特定函數
from math import sqrt, pi
print(sqrt(16)) # 4.0
print(pi) # 3.141592653589793
# 導入所有內容(不推薦)
from math import *
# 使用as給導入的內容取別名
from math import sqrt as square_root
print(square_root(16)) # 4.0
注意事項:
- 避免使用 from module import *,可能造成命名衝突
- 優先使用明確的導入方式
- 導入時注意命名衝突問題
3. 包的導入
包結構示例:
mypackage/ __init__.py module1.py module2.py subpackage/ __init__.py module3.py
# 導入包中的模組
import mypackage.module1
from mypackage import module2
from mypackage.subpackage import module3
# 使用點號訪問
mypackage.module1.function()
4. 相對導入
# 在module2.py中
from . import module1 # 導入同級模組
from .. import other_module # 導入上級模組
from ..subpackage import module3 # 導入其他包的模組
5. 模組搜索路徑
# 查看模組搜索路徑
import sys
print(sys.path)
# 添加搜索路徑
import sys
sys.path.append('/path/to/your/module')
6. 常用內置模組示例
# 時間處理
import time
print(time.time()) # 當前時間戳
# 隨機數
import random
print(random.choice([1, 2, 3, 4, 5]))
# 系統操作
import os
print(os.getcwd()) # 當前工作目錄
# JSON處理
import json
data = json.dumps({'name': '小明', 'age': 20})
練習題
-
創建一個簡單的包含多個模組的包:
- 創建一個計算器包,包含基本運算模組和高級運算模組
- 實現不同的導入方式來使用這些模組
-
使用內置模組完成以下任務:
- 生成5個不重複的隨機數
- 獲取當前時間並格式化輸出
- 讀取和寫入JSON文件
常見錯誤和最佳實踐
常見問題:
- 循環導入(Circular Import)問題
- 模組找不到(ModuleNotFoundError)
- 命名衝突
- 相對導入錯誤
最佳實踐:
- 使用明確的導入語句
- 避免使用 from module import *
- 合理組織包的結構
- 注意模組的命名
補充資源
- Python官方文檔中關於模組的部分
- Python包管理工具pip的使用
- 虛擬環境的創建和使用
- 第三方模組的安裝和使用方法