上下文管理器 (Context Manager) 與 with 語法
with 語法能確保你在開啟的文件或連線使用完畢後,自動關閉資源,無需手動處理。
with open("example.txt", "w") as file:
file.write("Hello, World!")
這樣做可以避免忘記關閉文件,特別是當你在處理大量文件時,能大大減少錯誤發生的機會。
namedtuple
namedtuple 是一個內建的工具,讓你可以像操作對象屬性一樣去操作元組,但性能上還是和元組一樣快。
from collections import namedtuple
Point = namedtuple("Point", ["x", "y"])
p = Point(10, 20)
print(p.x, p.y) # 10 20
它可以使代碼更具可讀性。
列表生成式 (List Comprehensions) 的進階用法
除了常規的列表生成式,你還可以使用條件判斷和多個 for 迴圈生成列表,這樣能讓你的代碼更加簡潔。
result = [x * y for x in range(1, 4) for y in range(1, 4) if x != y]
print(result) # [2, 3, 3, 6, 4, 6]
這樣在一行中做了多個步驟,不需要寫多層的 for 迴圈,大大簡化代碼。
itertools 模組
itertools 提供了許多實用的迭代器工具,比如 permutations() 可以讓你得到某集合的所有排列組合。
import itertools
perm = itertools.permutations([1, 2, 3])
for p in perm:
print(p)
這樣處理組合或排列時非常方便。