Python

モダンPython上級 #4 非同期処理の深掘り — イベントループ、gather/wait、async generator
読了 7分

モダンPython上級 #4 非同期処理の深掘り — イベントループ、gather/wait、async generator

中級の入門の次の段階 — イベントループの実際の動作、Future と Task の違い、gather vs wait、async generator と async iteration まで整理します。

モダンPython上級 #3 メタクラス — いつ本当に必要か
読了 6分

モダンPython上級 #3 メタクラス — いつ本当に必要か

クラスを作るクラス — type の正体、__init_subclass__ との分担、クラスデコレータで解けるケース、そして本当のメタクラスが必要な狭いケースまで整理します。

モダンPython上級 #2 ディスクリプタと __set_name__
読了 7分

モダンPython上級 #2 ディスクリプタと __set_name__

property が動作する原理 — __get__/__set__ プロトコルとデータ/非データディスクリプタ、__set_name__ できれいなバリデーションフィールドを作るところまで整理します。

モダンPython上級 #1 マジックメソッドの深掘りとプロトコル
読了 8分

モダンPython上級 #1 マジックメソッドの深掘りとプロトコル

Pythonオブジェクトが言語機能と統合されるすべてのフック — __call__、__getitem__、__hash__、__format__、__getattr__ などを一か所にまとめます。

モダンPython中級 #7 非同期入門 (asyncio)
読了 7分

モダンPython中級 #7 非同期入門 (asyncio)

async/await の意味、イベントループ、asyncio.gather と TaskGroup、同期コードと混ぜるところまで — asyncio の最初の一歩を一ヶ所に整理します。

モダンPython中級 #6 パターンマッチングの深掘り
読了 7分

モダンPython中級 #6 パターンマッチングの深掘り

基礎の match-case の次のステップ — クラスパターンと __match_args__、シーケンス / マッピングパターン、キャプチャとガード、そしてアンチパターンまで整理します。

モダンPython中級 #5 デコレータパターン
読了 6分

モダンPython中級 #5 デコレータパターン

関数を包むデコレータのあらゆる形 — 基本形、引数を受け取るデコレータ、functools.wraps、クラスデコレータ、ParamSpec まで整理します。

モダンPython中級 #4 イテラブル / ジェネレータ / yield from
読了 7分

モダンPython中級 #4 イテラブル / ジェネレータ / yield from

for がどう動くか — イテラブルプロトコル、ジェネレータ関数と式、yield from で委譲、send/throw まで一ヶ所に整理します。

モダンPython中級 #3 コンテキストマネージャー (with、contextlib)
読了 6分

モダンPython中級 #3 コンテキストマネージャー (with、contextlib)

try/finally を一行にする with、__enter__/__exit__ で自分で作る、@contextmanager でジェネレータのように短く作る、そして ExitStack/suppress などの実戦ツールを整理します。

モダンPython中級 #2 typing 本格 — Generic、Protocol、TypedDict、Literal
読了 7分

モダンPython中級 #2 typing 本格 — Generic、Protocol、TypedDict、Literal

基礎の型ヒントの次のステップ — 型をパラメータ化する Generic、ダックタイピングを正確に書く Protocol、dict の形を明示する TypedDict、狭い union の Literal まで整理します。

モダンPython中級 #1 dataclassと__slots__
読了 7分

モダンPython中級 #1 dataclassと__slots__

データを集めるクラスを短く安全に作るための @dataclass の全オプション — frozen、kw_only、field() と、メモリ節約ツールの __slots__ まで整理します。

モダンPython基礎 #7 モジュール/パッケージと pyproject.toml
読了 7分

モダンPython基礎 #7 モジュール/パッケージと pyproject.toml

import システム、モジュールとパッケージの違い、__init__.py と __main__、そして pyproject.toml で依存関係・ツール設定・配布まで一箇所に整理します。