Python は、データ分析・機械学習・ Web 開発・スクリプティングまで幅広く使われる汎用プログラミング言語である。インデントで構造を表す読みやすい構文、動的型付け、豊富なエコシステムを特徴とする。 1991 年に Guido van Rossum が「読みやすさを最重要視する」哲学のもと設計した。The Zen of Python の思想がライブラリや教材に浸透しており、近年は型ヒントや非同期処理、uv のようなモダンなツールが普及している。 ## ベストプラクティス - パッケージマネージャーは、uv を使用する - リンター&フォーマッターは、Ruff を使用する - notebook は、marimo.io を使用する - Python の文字列フォーマッティングは、フォーマット済み文字列 (f-strings) を使用する - Web フレームワークは、FastAPI を使用する - Web アプリケーションのスクラッチは、FastAPI + HTMX で行う - ORM マッパーは、SQLModel を使う ## 関連ノート ### 環境構築・パッケージ管理 - **[深掘り]** [[実行中の Python のバージョンを確認する]]: ランタイムバージョン確認の具体手順 - **[深掘り]** [[uv で Python ランタイムを変更する]]: プロジェクト内ランタイムを切り替える手順 - **[応用]** [[uv を macOS にインストールする]]: uv 本体を macOS に導入する手順 - **[応用]** [[mise と uv で Python をグローバルとプロジェクトで使い分ける]]: グローバルと個別プロジェクトでランタイムを管理する運用 - **[応用]** [[uv で Python プロジェクトを新規作成する]]: uv による Python プロジェクトの初期化手順 ### ノートブック - **[応用]** [[marimo をノートブックごとに独立した隔離環境 (sandbox) で起動する]]: marimo の sandbox 実行で依存を分離する運用 - **[応用]** [[uv プロジェクト環境で marimo を起動する]]: uv プロジェクト配下で marimo を使うときの設定 ### 言語機能 - **[深掘り]** [[Python の文字列フォーマッティングは、フォーマット済み文字列 (f-strings) を使用する]]: Python で採用すべき文字列フォーマット方式の根拠 ### データ処理 - **[応用]** [[Polars で全ての列を文字列型として DataFrame を作成する方法]]: Polars DataFrame 作成時に型強制を行うパターン - **[応用]** [[Python のデータフレームにハッシュ差分列を追加する]]: データフレーム差分検出のための列構成