#Python

157 件の記事

Python自動化 #4 — Webスクレイピング ②: Playwright で動的ページを扱う
読了 5分

Python自動化 #4 — Webスクレイピング ②: Playwright で動的ページを扱う

requests で取得すると空の HTML しか返ってこない JavaScript レンダリングページを Playwright で扱います。インストールと最初のスクリプトから、wait_for_selector による待機、ログイン自動化、無限スクロール、CSV 保存まで一気に整理します。

typing 上級 — Variance、ParamSpec、Self、overload
読了 8分

typing 上級 — Variance、ParamSpec、Self、overload

中級 typing の次の段階として、covariance/contravariance、ParamSpec と Concatenate、Self、TypeGuard/TypeIs、@overload までまとめます。

typing 本格 — Generic、Protocol、TypedDict、Literal
読了 8分

typing 本格 — Generic、Protocol、TypedDict、Literal

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

uv でのライブラリ公開 — pyproject.toml と PyPI リリース
読了 9分

uv でのライブラリ公開 — pyproject.toml と PyPI リリース

pyproject.toml の意味を一度に整理し、uv build・uv publish で最初のライブラリを PyPI にリリースする手順を扱います。

イテラブル、ジェネレータ、yield from
読了 8分

イテラブル、ジェネレータ、yield from

for がどう動作するかを扱います。イテラブルプロトコル、ジェネレータ関数と式、yield from による委譲、send/throw までを整理します。

ルーティング、Pydantic モデル、依存性注入
読了 7分

ルーティング、Pydantic モデル、依存性注入

APIRouter でルートを分離し、Pydantic v2 スキーマで入出力を定義し、Depends で共通ロジックを分離するパターンまでまとめます。

エラーと例外処理
読了 8分

エラーと例外処理

try/except/else/finally の役割、raise とユーザー定義例外、そして 3.11 がもたらした ExceptionGroup と except* までまとめます。

コレクションと内包表記
読了 7分

コレクションと内包表記

list/tuple/dict/set の 4 コレクションの使いどころと、一行で新しいコレクションを作る内包表記・ジェネレータ式までまとめます。

コンテキストマネージャ (with、contextlib)
読了 7分

コンテキストマネージャ (with、contextlib)

try/finally を一行にする with、__enter__/__exit__ による自作、@contextmanager で生成器のように短く作る方法、そして ExitStack/suppress などの実戦の道具まで整理します。

ディスクリプタと __set_name__
読了 8分

ディスクリプタと __set_name__

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

デコレータパターン
読了 7分

デコレータパターン

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

テストとデプロイ — pytest、Docker、Railway/Fly
読了 8分

テストとデプロイ — pytest、Docker、Railway/Fly

pytest + httpx で FastAPI 統合テスト、依存性オーバーライドで隔離、Docker のマルチステージビルド、Railway/Fly クラウドデプロイまでまとめます。