プログラミング言語

Python ぱいそん

スクリプト言語インタープリタデータサイエンス機械学習オープンソース標準ライブラリ
Pythonについて教えて

簡単に言うとこんな感じ!

Pythonは「読みやすくて書きやすい」プログラミング言語だよ!英語に近い文法で初心者でも始めやすく、AI・データ分析・Web開発まで何でもこなせる万能選手なんだ。世界中で一番使われている言語のひとつってこと!


Pythonとは

Pythonは1991年に公開された汎用プログラミング言語で、読みやすさと書きやすさを最優先に設計されています。コードのブロックを「インデント(字下げ)」で表現するという独特のスタイルが特徴で、見た目がスッキリしており、プログラミング初心者でも理解しやすいとされています。

オープンソース(誰でも無償で使え、中身のコードも公開されている)で提供されており、世界中の開発者が貢献するコミュニティが活発です。その結果、「ライブラリ」と呼ばれる便利な機能の部品集が膨大に揃っており、ゼロから作らなくても高度な処理を短いコードで実現できます。

近年はAI・機械学習・データサイエンスの標準言語として特に注目されており、ChatGPTをはじめとする大規模言語モデルの開発にも広く使われています。企業のDX推進においても、データ分析や業務自動化のツールとしてPythonを採用するケースが急増しています。


Pythonの主な特徴と使われ方

特徴内容
読みやすい文法英語に近く、インデントで構造を表すため視覚的に分かりやすい
インタープリタ方式コードを1行ずつ翻訳しながら実行。コンパイル不要で即試せる
豊富なライブラリNumPy・pandas・TensorFlowなど専門用途のライブラリが充実
マルチパラダイム手続き型・オブジェクト指向・関数型など複数の書き方に対応
クロスプラットフォームWindows・Mac・Linuxどこでも同じコードが動く
動的型付け変数の型宣言が不要で、柔軟に書ける

活用領域早見図

データサイエンス ・pandas(表データ処理) ・NumPy(数値計算) ・Matplotlib(グラフ) ・Jupyter Notebook (対話的な実行環境) AI・機械学習 ・TensorFlow ・PyTorch ・scikit-learn ・OpenAI API連携 ・画像認識・自然言語処理 Web開発 ・Django(大規模向け) ・Flask(軽量) ・FastAPI(API開発) ・Instagram・Dropbox (採用事例) 業務自動化 ・Excel/CSV操作 ・メール自動送信 ・Webスクレイピング (Web情報収集) ・定型レポート生成 その他の活用領域 ・組み込み開発(Raspberry Piなど) ・ゲーム開発(Pygameなど) ・セキュリティ・ペネトレーションテスト ・クラウドインフラ自動化(AWS Lambda等) ・教育・研究(世界中の大学で採用)

覚え方:「パイソン=ヘビ」でも怖くない

名前の由来はヘビ(Python)ではなく、イギリスのコメディグループ「Monty Python(モンティ・パイソン)」からきています。作者のGuido van Rossum(グイド・ヴァン・ロッサム)がファンだったからだとか。「難解なヘビではなく、笑えるほど簡単な言語」というイメージで覚えると◎。

バージョンの話

現在主流はPython 3系(2008年〜)。過去にPython 2系が長く使われていましたが、2020年1月にサポート終了。今から学ぶなら迷わずPython 3を選びましょう。


歴史と背景

  • 1989年 オランダ人プログラマーのGuido van Rossumがクリスマス休暇中に設計を開始
  • 1991年 Python 0.9.0を公開。「読みやすさ」「シンプルさ」を設計思想の核心に
  • 2000年 Python 2.0リリース。リスト内包表記などモダンな機能を追加
  • 2001年 Python Software Foundation(PSF)設立。オープンソースの運営体制を整備
  • 2008年 Python 3.0リリース。2系との後方互換性を捨てて大幅刷新
  • 2010年代 機械学習ブームの波に乗り、TensorFlow(2015年)・PyTorch(2016年)がPythonを採用。AI開発の標準言語に
  • 2020年 Python 2系の公式サポート終了。3系への移行が完了
  • 2021〜現在 TIOBEインデックス(プログラミング言語人気ランキング)で1位を継続。JavaやCを抑えて世界一の人気言語に

主要言語との比較

Pythonをビジネスの場でよく比較される言語と並べると、それぞれ得意領域が異なります。

言語主な用途学習難易度実行速度Pythonとの違い
PythonAI・データ分析・自動化★☆☆(易)普通
JavaScriptWebフロントエンド・サーバー★★☆(中)速いブラウザ上で動く。Web画面に強い
Java企業システム・Android★★★(難)速い型が厳格。大規模開発向き
R統計・学術研究★★☆(中)普通統計特化。汎用性はPythonが上
VBAExcel自動化★☆☆(易)遅いOfficeとの親和性が高い

PythonとVBAの違い(業務自動化視点)

発注・選定の場でよく出る比較です:

【VBA(Excelマクロ)】
  ✅ Excelとの相性が抜群
  ✅ 既存のExcel職場に導入しやすい
  ❌ Excel以外への応用が難しい
  ❌ AI・クラウドとの連携が苦手

【Python】
  ✅ Excel含むほぼ全ての業務に応用可能
  ✅ AI/APIとの連携が容易
  ✅ 無料で使えるツール・学習資料が豊富
  ❌ 実行環境のセットアップが必要
  ❌ 社内標準化にはルール整備が必要

Pythonコードの見た目(参考)

プログラミング経験ゼロでも「英語っぽい」ことが伝わるサンプルです:

# 従業員リストから給与が50万円以上の人を抽出する例
employees = [
    {"name": "田中", "salary": 600000},
    {"name": "鈴木", "salary": 450000},
    {"name": "佐藤", "salary": 520000},
]

high_earners = [e["name"] for e in employees if e["salary"] >= 500000]
print(high_earners)
# 出力: ['田中', '佐藤']

コードがほぼ「条件を英語で書いた」形になっているのがPythonの特徴です。


関連用語

  • ./055-library.md — ライブラリ — 再利用可能なプログラム部品の集まり
  • ./056-framework.md — フレームワーク — アプリ開発の骨格となる仕組みの総称
  • ./057-api.md — API — プログラム同士が会話するための窓口
  • ./058-machine-learning.md — 機械学習 — データからパターンをコンピュータに学ばせる技術
  • ./059-interpreter.md — インタープリタ — コードを1行ずつ翻訳しながら実行する方式
  • ./061-open-source.md — オープンソース — ソースコードを公開・無償提供するソフトウェアの開発形態
  • ./062-jupyter-notebook.md — Jupyter Notebook — Pythonをブラウザ上で対話的に実行できる開発環境
  • ./063-data-science.md — データサイエンス — データを分析して業務上の意思決定に活かす技術・手法の総称