Python

読みやすさを重視した汎用プログラミング言語で、データサイエンス、AI、Web 開発で広く使われる

プログラミング言語データ分析
Python」の技術書を見る (595 冊) →

Python とは

Python は、Guido van Rossum が 1991 年にリリースした汎用プログラミング言語で、読みやすさとシンプルさを重視した設計が特徴だ。データサイエンス機械学習、Web 開発、自動化スクリプトで広く使われている。

特徴

Python は波括弧ではなくインデントでブロックを定義するインデントベースの構文を持ち、コードの見た目が統一される。動的型付けで変数に型宣言が不要だが、Python 3.5 以降は型ヒントを任意で付与できる。「バッテリー同梱」の思想で標準ライブラリが豊富な一方、GIL (Global Interpreter Lock) により真の並列処理が制限される点は注意が必要だ。

TypeScript / Go との比較

TypeScript / Go との主な違いを以下に比較する。

観点PythonTypeScriptGo
型システム動的 (型ヒント任意)静的静的
実行速度遅い (インタプリタ)中程度 (V8 JIT)速い (ネイティブ)
並行処理asyncio, multiprocessingasync/awaitgoroutine
パッケージ管理pip, uv, PoetrynpmGo Modules
用途データサイエンス、AIWeb アプリサーバー、CLI

型ヒント (Python 3.12+)

型ヒント (Python 3.12+) のコード例を示す。

def greet(name: str, age: int) -> str:
    return f"Hello, {name}! You are {age} years old."

# ジェネリクス
type Point[T] = tuple[T, T]

# TypedDict
from typing import TypedDict

class User(TypedDict):
    id: str
    name: str
    email: str

mypy で型チェックを実行する。TypeScript と異なり、ランタイムでは型ヒントは無視される。

データサイエンスのエコシステム

データサイエンスのエコシステムを以下にまとめる。

ライブラリ用途
NumPy数値計算、行列演算
pandasデータ分析、DataFrame
scikit-learn機械学習
PyTorch / TensorFlowディープラーニング
matplotlib / seabornデータ可視化
Jupyter Notebook対話的な分析環境

Python は Lambda で最も使われるランタイムの 1 つで、boto3 (AWS SDK) がプリインストールされている。

実践的な知識は関連書籍でも得られる。

この記事は役に立ちましたか?

関連用語

関連する記事