本篇是 Python 系列教程第 15 篇,更多內容敬請訪問我的 Python 合集
一個模組其實就是一個檔案(以.py結尾)。使用模組的好處是便於維護和重用程式碼。
要建立一個模組,只需編寫一個新的文字檔案,儲存為 .py 副檔名。
1 引入模組
1.1 匯入整個模組
import mymodule
mymodule.some_function()
1.2 匯入特定的函式或類
from mymodule import some_function
some_function()
1.3 匯入所有內容
from mymodule import *
some_function() # 直接呼叫函式,無需模組字首
1.4 使用別名
import mymodule as mm
mm.some_function()
2 常用模組
Python 的標準庫非常龐大,提供了大量的內建模組來支援各種程式設計任務。這裡列舉了一些常用的模組及其主要用途:
2.1 標準庫模組
2.1.1 os
作業系統相關功能,如讀取環境變數、改變目錄等。
import os
print(os.getcwd()) # 獲取當前工作目錄
2.1.2 sys
系統特定的一些變數和函式,如獲取命令列引數、退出程式等。
import sys
print(sys.argv) # 獲取命令列引數
2.1.3 math
數學函式,如平方根、對數等。
import math
print(math.sqrt(16)) # 計算平方根
2.1.4 random
生成隨機數。
import random
print(random.randint(1, 100)) # 生成一個1到100之間的隨機整數
2.1.5 datetime
日期和時間操作。
from datetime import datetime
print(datetime.now()) # 獲取當前日期和時間
2.1.6 re
正規表示式支援。
import re
pattern = r'\d+'
result = re.findall(pattern, '123 abc 456')
print(result) # 輸出所有匹配數字的字串
2.1.7 json
JSON 編碼和解碼。
import json
data = {'name': 'John', 'age': 30}
json_str = json.dumps(data)
print(json_str) # 將字典轉換為 JSON 字串
2.1.8 collections
高階容器型別,如 defaultdict
, Counter
, deque
等。
from collections import defaultdict
d = defaultdict(int)
d['a'] += 1
print(d['a']) # 輸出: 1
2.1.9 itertools
迭代工具,提供了高效的迴圈迭代器。
import itertools
for x in itertools.count(start=1):
print(x)
if x > 10:
break # 無限計數,直到超過10
2.1.10 functools
高階函式工具,如裝飾器、偏函式等。
from functools import lru_cache
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
print(fib(10)) # 計算斐波那契數列第10項
2.1.11 pathlib
用於處理路徑的現代介面。
from pathlib import Path
p = Path('/etc') / 'passwd'
print(p) # 輸出: /etc/passwd
12. argparse
解析命令列引數和選項。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--input", help="input file")
args = parser.parse_args()
print(args.input)
2.2 第三方模組
除了標準庫之外,還有許多第三方模組可以安裝和使用,例如:
- NumPy - 數值計算。
- Pandas - 資料分析。
- Matplotlib - 資料視覺化。
- Requests - 傳送 HTTP 請求。
- Flask - Web 開發框架。
- SQLAlchemy - 資料庫抽象層。