ECC/docs/ja-JP/rules/python/patterns.md

1007 B
Raw Permalink Blame History

paths
**/*.py
**/*.pyi

Python パターン

このファイルは common/patterns.md を Python 固有のコンテンツで拡張します。

Protocolダックタイピング

from typing import Protocol

class Repository(Protocol):
    def find_by_id(self, id: str) -> dict | None: ...
    def save(self, entity: dict) -> dict: ...

DTO としての Dataclass

from dataclasses import dataclass

@dataclass
class CreateUserRequest:
    name: str
    email: str
    age: int | None = None

コンテキストマネージャとジェネレータ

  • リソース管理にはコンテキストマネージャ(with 文)を使用する
  • 遅延評価とメモリ効率の良いイテレーションにはジェネレータを使用する

リファレンス

スキル: python-patterns でデコレータ、並行処理、パッケージ構成を含む包括的なパターンを参照してください。