← 語彙帳トップに戻る
🐍

Python

AIと相性◎。書きやすいが実行速度は遅め

✅ AI/ML✅ データ処理✅ スクリプト✅ Web API ⚠ 実行速度⚠ 型の曖昧さ
📌 一言で言うと

人間が読みやすい言語。特にAI・データ処理の業界標準語

コードが英語の散文に近く初学者でも読みやすい。PyTorchMetaのPython製ディープラーニングフレームワーク。研究から本番まで業界標準LangChainLLMアプリを素早く組むPython/TSライブラリ。RAGやエージェント機能を提供FastAPIPython製高速WebフレームワークAPIが簡潔に書ける。Swaggerドキュメントも自動生成 など主要AIライブラリがすべてPythonに集中しているため、AI案件では事実上の標準。

🎯 得意な用途

機械学習・深層学習:PyTorch / TensorFlow / scikit-learn が揃っており、モデルのプロトタイプから本番運用まで一貫してPythonで完結できる。

LLMアプリ開発:LangChain / LlamaIndex / OpenAI SDK などのエコシステムが充実。RAGやエージェント構築も得意。

データ分析・可視化:pandas / matplotlib / Jupyter Notebook の組み合わせが業界標準。データサイエンティストの共通言語。

Web API・自動化スクリプト:FastAPI や Flask でAPIサーバーを素早く立ち上げられる。スクレイピングや業務自動化にも使いやすい。

⚖️ 他言語との比較
観点PythonGoTypeScript
実行速度 遅め 速い 中程度
AI/MLライブラリ 圧倒的に豊富 ほぼなし 少ない
学習コスト 低い 中程度 中程度
型安全性 型ヒントあり(任意) 静的型付け 静的型付け
向いている場面 AI・データ・PoC 高トラフィックAPI Webフロント・フルスタック
✅ 選ぶ理由 / ⚠ 選ばない理由

選ぶ理由

AI・機械学習のエコシステムがPythonに一極集中。PoCフェーズでのスピードが最速。書きやすく読みやすいためチームへの展開も容易。

選ばない理由

高トラフィックAPI(毎秒数万リクエスト超)はGoやRustが有利。組み込みシステムにはメモリ効率が悪すぎる。

💬 よくある会議での質問と答え方
Q.このサービス、スケールしたらPythonで大丈夫ですか?
A.非同期処理(FastAPIのasync/await)とworkerのスケールアウトで多くの場合は対応できます。ただし毎秒数十万リクエスト規模になるならGoへの移行も選択肢に入ります
Q.PoCはPythonでやりましたが、本番もPythonでいいですか?
A.AIモデルの推論を含むなら本番もPythonが現実的です。ただしAPIの外側(ゲートウェイ・ルーティング)はGoを使い分けることも有効です
🌐 エコシステム

パッケージマネージャ:pip / uv(推奨・高速) / poetry

主要フレームワーク

  • FastAPI — モダンASGI Webフレームワーク・型ヒント活用・自動ドキュメント
  • Django — フルスタックWebフレームワーク・admin/ORM 装備
  • Flask — 軽量マイクロフレームワーク・柔軟
  • Streamlit — データアプリ構築・MLデモ・少コード

主要ライブラリ

  • NumPy / Pandas — 数値計算 / データ分析・データサイエンス標準
  • PyTorch / TensorFlow — ディープラーニング・研究(PyTorch) / 本番(TF)
  • Pydantic — 型安全データモデル・FastAPI の基盤・バリデーション
  • SQLAlchemy — ORM・Python DB アクセスのデファクト

ランタイム

  • CPython — 標準実装・参照実装・本番向け
  • PyPy — JIT・高速・互換性 注意
💻 コード例

Hello World

print("Hello")

リスト内包表記

squares = [x**2 for x in range(10) if x % 2 == 0]

dataclass(型付きデータモデル)

from dataclasses import dataclass
@dataclass
class User:
    name: str
    age: int = 0

async/await

import asyncio
async def fetch(): ...
async def main():
    await asyncio.gather(fetch(), fetch())
📚 学習ロードマップ

初級(目安: 〜2週間)

  • 基本文法・データ型 — list/dict/tuple/set・ミュータビリティ・スライス
  • 関数・制御構文 — def・位置/キーワード引数・デフォルト・内包表記
  • クラスの基礎 — class・self・__init__・インスタンス変数

中級(目安: 〜1-2ヶ月)

  • クラス・継承・dunder — 継承・__repr__/__eq__・プロパティ・dataclass
  • Pydantic と型ヒント — 型安全モデル・FastAPI 接続・バリデーション
  • pip / venv と標準ライブラリ — 仮想環境・requirements・os/sys/collections

上級(目安: 〜3-6ヶ月)

  • デコレータ・ジェネレータ — @decorator・yield・遅延評価・functools
  • async/await と asyncio — イベントループ・gather・FastAPI 非同期・aiohttp
  • メタクラス・ディスクリプタ — type・__init_subclass__・ORM/Django 内部理解