Why It Fits
選ぶ理由
- 構文が読みやすく学習しやすい
- データ/AI のライブラリが圧倒的(NumPy・pandas・PyTorch)
- 自動化・スクリプトに最適
Language Profile
Guido van Rossum / 1991年登場
読みやすさを最優先した汎用言語。データ分析・AI/機械学習・自動化・Webバックエンドまで幅広く、いま最も人気のある言語のひとつ。
Specifications
Introducing
Decision Guide
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
Why It Fits
Trade-offs
Best Fit
Deep Dive
Python は 1991 年に Guido van Rossum が公開した汎用プログラミング言語です。最大の特徴は「読みやすさ」を言語仕様のレベルで重視している点で、ブロックを波かっこではなくインデント(字下げ)で表現します。これにより、誰が書いてもある程度似た見た目のコードになり、チームでの可読性が高く保たれます。
「やりたいこと」を短く素直に書ける一方、内部では多くの処理を C 言語などで実装したライブラリに任せています。つまり Python 自体は遅くても、重い計算は高速なライブラリが肩代わりする という構図で、データ分析や機械学習の分野で主役になりました。
得意なのは、データ分析・AI / 機械学習・自動化・Web バックエンド(Django / FastAPI)。少ないコードで素早く形にできるため、プロトタイピングや研究にも向きます。
逆に不得意なのは 実行速度が要求される領域 と 並列処理。標準実装の CPython には GIL(Global Interpreter Lock)があり、1 プロセス内で複数スレッドを同時に CPU 実行できません。CPU バウンドな並列はマルチプロセスや、Rust / C 拡張に頼ることになります。スマホアプリやフロントエンドのような領域も範囲外です。
# インデントが文法そのもの。ズレると意図しない挙動になる
def greet(name):
if name:
print(f"Hello, {name}!") # ここは if の中
print("done") # ここは if の外
pip / 仮想環境(venv)/ Poetry / conda など選択肢が多く、最初は混乱しやすい。プロジェクトごとに仮想環境を切るのが基本。def f(x: int) -> str:)と mypy の併用が定番。python -m venv .venv で仮想環境を作る。pip install する(データなら pandas、Web なら FastAPI など)。「まず動かして、必要になったら型と環境を整える」と進めると挫折しにくい言語です。
Language Decision
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
データ分析・AI/ML
型付け: 動的・強い型付け / 実行方式: インタプリタ(CPython) / パラダイム: マルチパラダイム(手続き / OOP / 関数)
データ/AI のライブラリが圧倒的(NumPy・pandas・PyTorch)
実行速度が遅い(CPython)
First Step
print("Hello, World!")公式ドキュメント