Python
読みやすさを重視した汎用プログラミング言語で、データサイエンス、AI、Web 開発で広く使われる
Python とは
Python は、Guido van Rossum が 1991 年にリリースした汎用プログラミング言語で、読みやすさとシンプルさを重視した設計が特徴だ。データサイエンス、機械学習、Web 開発、自動化スクリプトで広く使われている。
特徴
Python は波括弧ではなくインデントでブロックを定義するインデントベースの構文を持ち、コードの見た目が統一される。動的型付けで変数に型宣言が不要だが、Python 3.5 以降は型ヒントを任意で付与できる。「バッテリー同梱」の思想で標準ライブラリが豊富な一方、GIL (Global Interpreter Lock) により真の並列処理が制限される点は注意が必要だ。
TypeScript / Go との比較
TypeScript / Go との主な違いを以下に比較する。
| 観点 | Python | TypeScript | Go |
|---|---|---|---|
| 型システム | 動的 (型ヒント任意) | 静的 | 静的 |
| 実行速度 | 遅い (インタプリタ) | 中程度 (V8 JIT) | 速い (ネイティブ) |
| 並行処理 | asyncio, multiprocessing | async/await | goroutine |
| パッケージ管理 | pip, uv, Poetry | npm | Go Modules |
| 用途 | データサイエンス、AI | Web アプリ | サーバー、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) がプリインストールされている。
実践的な知識は関連書籍でも得られる。
この記事は役に立ちましたか?
関連用語
TypeScript
JavaScript に静的型付けを追加した言語で、大規模開発の安全性と生産性を向上させる
Java
エンタープライズ開発で広く使われるオブジェクト指向言語で、JVM 上で動作しプラットフォーム非依存を実現する
Go
Google が開発したシンプルで高速なコンパイル言語で、goroutine による軽量な並行処理が特徴
R
統計解析とデータ可視化に特化したプログラミング言語。研究・分析分野で広く使われる
JavaScript
Web ブラウザで動作する言語として生まれ、今やサーバーやアプリ開発まで担う汎用言語
データサイエンス
統計学・プログラミング・ドメイン知識を組み合わせ、データから価値を生み出す学問領域
関連する記事
データベース本ガイド - SQL から設計まで学べる技術書の選び方
データベースの基礎から設計、パフォーマンスチューニングまで学べる技術書の選び方と学習順序を紹介します。
機械学習・AI 本ガイド - エンジニアが読むべき技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルートと ML 本の賞味期限の見極め方を解説します。
技術書の読む順番戦略 - 複数冊を組み合わせて理解を加速させる
技術書を 1 冊ずつ読むのではなく、複数冊を戦略的に組み合わせることで理解の深さと速度を飛躍的に高める方法を解説します。