槽函數 (Slot Functions)
你可以在類中使用 slots 限制實例的屬性,從而節省內存。
class Car:
slots = ['make', 'model']
def __init__(self, make, model):
self.make = make
self.model = model
car = Car("Toyota", "Corolla")
#car.year = 2020 # 這行會報錯,因為 'year' 不在 slots 中
適合處理大量物件,幫助減少記憶體消耗。
assert 語句
在開發和測試階段,可以用 assert 來輕鬆檢查某些條件是否為真,方便進行除錯。
def divide(a, b):
assert b != 0, "除數不能為零"
return a / b
print(divide(10, 2)) # 正常運作
print(divide(10, 0)) # 會引發 AssertionError
這樣能快速發現問題,特別是在處理臨界條件時。
asyncio 非同步編程
asyncio 讓你可以寫非同步代碼,不需要阻塞程序。這適合 I/O 密集型操作。
import asyncio
async def fetch_data():
print("開始抓取資料")
await asyncio.sleep(2) # 模擬I/O操作
print("資料抓取完成")
asyncio.run(fetch_data())
這樣可以在執行其他操作的同時,不用等待某個步驟完成。
解析命令行參數 (argparse)
argparse 是用來處理命令行參數的標準庫,讓你可以輕鬆解析使用者輸入的參數。
import argparse
parser = argparse.ArgumentParser(description="範例程式")
parser.add_argument('--name', type=str, help='輸入你的名字')
args = parser.parse_args()
print(f"Hello, {args.name}!")
這樣可以快速構建命令行工具,讓程序更靈活。