--- paths: - "**/*.py" - "**/*.pyi" --- # Python 模式 (Patterns) > 本檔案擴展了 [common/patterns.md](../common/patterns.md),包含 Python 特定內容。 ## 協定 (Protocol / 鴨子型別) ```python from typing import Protocol class Repository(Protocol): def find_by_id(self, id: str) -> dict | None: ... def save(self, entity: dict) -> dict: ... ``` ## 使用 Dataclasses 作為 DTO (資料傳輸物件) ```python from dataclasses import dataclass @dataclass class CreateUserRequest: name: str email: str age: int | None = None ``` ## 上下文管理器 (Context Managers) 與 生成器 (Generators) - 使用上下文管理器 (`with` 語句) 進行資源管理。 - 使用生成器進行延遲求值與具備記憶體效率的迭代。 ## 參考資源 參見技能 (Skill):`python-patterns`,獲取包含裝飾器 (Decorators)、併發 (Concurrency) 與包組織 (Package organization) 的全面模式。