Pythonは、シンプルな文法と豊富なライブラリを持つプログラミング言語で、Web開発からデータ分析、AI・機械学習まで幅広い分野で活用されています。2026年現在も世界で最も人気の高い言語の一つであり、プログラミング初心者にとっても最適な選択肢です。
本記事では、Pythonをこれから始める方を対象に、インストール手順から基本文法、実際に動くプログラムの作成までをステップバイステップで解説します。IT担当者やエンジニアとしてPythonを業務に取り入れたい方に向けた実践的なガイドです。
Pythonとは?選ばれる理由と活用分野
Pythonは1991年にGuido van Rossumによって開発されたプログラミング言語です。「読みやすさ」を重視した設計思想により、他の言語と比較してコードの記述量が少なく、初心者でも理解しやすい構造になっています。
Pythonが初心者に選ばれる理由
- シンプルな文法:英語に近い記述ができ、波括弧({})の代わりにインデントでブロックを表現するため、コードが整理されやすい
- 豊富なライブラリ:標準ライブラリに加え、pip経由で30万以上のサードパーティパッケージを利用可能
- クロスプラットフォーム:Windows・macOS・Linuxいずれの環境でも動作する
- 活発なコミュニティ:日本語の情報も豊富で、エラーに遭遇しても解決策が見つかりやすい
- 高い汎用性:Web開発、データ分析、自動化、AI開発など幅広い用途に対応
主な活用分野
| 分野 | 主なライブラリ・フレームワーク | 用途例 |
|---|---|---|
| Web開発 | Django, Flask, FastAPI | WebアプリケーションやAPI構築 |
| データ分析 | Pandas, NumPy, Matplotlib | CSV処理、統計分析、可視化 |
| AI・機械学習 | scikit-learn, TensorFlow, PyTorch | 予測モデル、画像認識 |
| 業務自動化 | openpyxl, selenium, schedule | Excel操作、ブラウザ自動化 |
| スクレイピング | BeautifulSoup, Scrapy | Webからのデータ収集 |
Pythonのインストール手順(Windows・macOS・Linux)
Pythonの環境構築は、OSごとに手順が異なります。ここでは各OSでの推奨インストール方法を解説します。
Windowsの場合
Windows環境では、公式サイトからインストーラーをダウンロードする方法が最もシンプルです。
- Python公式サイトにアクセスし、最新版のインストーラーをダウンロード
- インストーラーを実行し、「Add python.exe to PATH」にチェックを入れる(重要)
- 「Install Now」をクリックしてインストール
- コマンドプロンプトを開き、バージョンを確認
python --version
Python 3.12.x
PATHへの追加を忘れると、コマンドプロンプトからpythonコマンドが認識されません。インストール後にPATHが通っていない場合は、環境変数を手動で設定する必要があります。
macOSの場合
macOSにはPythonがプリインストールされている場合がありますが、バージョンが古いことが多いため、Homebrewを使って最新版をインストールすることを推奨します。
# Homebrewがない場合はまずインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Pythonのインストール
brew install python
# バージョン確認
python3 --version
Linuxの場合(Ubuntu/Debian)
多くのLinuxディストリビューションではPython3がプリインストールされています。最新版にアップデートする場合は以下のコマンドを使用します。
# パッケージリストの更新
sudo apt update
# Python3とpipのインストール
sudo apt install python3 python3-pip python3-venv
# バージョン確認
python3 --version
いずれのOSでも、pipが正常にインストールされていることを確認しておきましょう。
pip --version
# または
pip3 --version
エディタ・開発環境の選び方と設定
Pythonのコードを書くためには、適切なエディタやIDE(統合開発環境)を選ぶことが重要です。
Visual Studio Code(推奨)
Visual Studio Code(VS Code)は、無料で高機能なコードエディタです。Python開発においては最も広く使われている選択肢の一つです。
- VS Code公式サイトからダウンロード・インストール
- 拡張機能「Python」(Microsoft公式)をインストール
- 拡張機能「Pylance」をインストール(コード補完・型チェック機能が向上)
VS Codeの設定例として、settings.jsonに以下を追加するとPython開発が快適になります。
{
"python.defaultInterpreterPath": "python3",
"python.linting.enabled": true,
"python.formatting.provider": "black",
"editor.formatOnSave": true
}
その他の選択肢
| エディタ/IDE | 特徴 | 対象 |
|---|---|---|
| PyCharm | Python専用IDE。補完やデバッグが強力 | 本格的なPython開発者 |
| Jupyter Notebook | 対話的にコードを実行できる | データ分析・機械学習 |
| IDLE | Pythonに付属する標準エディタ | 学習用途 |
| Vim/Neovim | ターミナル上で動作する軽量エディタ | CUI操作に慣れた上級者 |
Python基本文法の理解|変数・データ型・演算
Pythonの基本文法を、実際のコード例とともに解説します。
変数とデータ型
Pythonは動的型付け言語であり、変数を宣言する際に型を明示する必要がありません。
# 変数の定義
name = "田中太郎" # 文字列(str)
age = 30 # 整数(int)
height = 175.5 # 浮動小数点数(float)
is_engineer = True # 真偽値(bool)
skills = ["Python", "SQL"] # リスト(list)
# 型の確認
print(type(name)) # <class 'str'>
print(type(age)) # <class 'int'>
print(type(skills)) # <class 'list'>
主要なデータ型一覧
| データ型 | 説明 | 例 |
|---|---|---|
| str | 文字列 | "Hello" |
| int | 整数 | 42 |
| float | 浮動小数点数 | 3.14 |
| bool | 真偽値 | True / False |
| list | 順序付きの変更可能なコレクション | [1, 2, 3] |
| tuple | 順序付きの変更不可なコレクション | (1, 2, 3) |
| dict | キーと値のペア | {"key": "value"} |
| set | 重複のないコレクション | {1, 2, 3} |
文字列操作
文字列操作はPythonで頻繁に使用される基本スキルです。
# f-string(フォーマット文字列)
name = "田中"
age = 30
print(f"{name}さんは{age}歳です") # 田中さんは30歳です
# 文字列メソッド
text = " Hello, Python! "
print(text.strip()) # "Hello, Python!"(前後の空白を除去)
print(text.lower()) # " hello, python! "
print(text.replace("Python", "World")) # " Hello, World! "
# 文字列の分割と結合
csv_line = "東京,大阪,名古屋"
cities = csv_line.split(",") # ['東京', '大阪', '名古屋']
joined = " / ".join(cities) # '東京 / 大阪 / 名古屋'
基本的な演算
# 算術演算
print(10 + 3) # 13(加算)
print(10 - 3) # 7(減算)
print(10 * 3) # 30(乗算)
print(10 / 3) # 3.333...(除算)
print(10 // 3) # 3(整数除算)
print(10 % 3) # 1(剰余)
print(10 ** 3) # 1000(累乗)
# 比較演算
print(10 > 3) # True
print(10 == 10) # True
print(10 != 3) # True
制御構文|条件分岐とループ処理
プログラムの流れを制御する条件分岐とループ処理は、あらゆるプログラムの基盤となります。
if文による条件分岐
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
else:
grade = "D"
print(f"成績: {grade}") # 成績: B
# 三項演算子(条件式)
status = "合格" if score >= 60 else "不合格"
print(status) # 合格
for文によるループ
# リストのループ
fruits = ["りんご", "みかん", "バナナ"]
for fruit in fruits:
print(fruit)
# range()を使った回数指定のループ
for i in range(5):
print(f"{i}回目の処理")
# enumerate()でインデックスと値を同時に取得
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")
# 辞書のループ
user = {"name": "田中", "age": 30, "city": "東京"}
for key, value in user.items():
print(f"{key}: {value}")
while文によるループ
count = 0
while count < 5:
print(f"カウント: {count}")
count += 1
# break と continue
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
continue # 偶数はスキップ
if num > 7:
break # 7を超えたらループを終了
print(num) # 1, 3, 5, 7
リスト内包表記
Pythonらしい書き方として、リスト内包表記を覚えておくと便利です。
# 通常のループ
squares = []
for i in range(10):
squares.append(i ** 2)
# リスト内包表記(同じ結果をワンライナーで)
squares = [i ** 2 for i in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 条件付きリスト内包表記
even_squares = [i ** 2 for i in range(10) if i % 2 == 0]
print(even_squares) # [0, 4, 16, 36, 64]
関数の定義と使い方
関数を使うことで、繰り返し使う処理をまとめ、コードの再利用性と可読性を高められます。
基本的な関数定義
# 基本形
def greet(name):
"""挨拶メッセージを返す関数"""
return f"こんにちは、{name}さん!"
message = greet("田中")
print(message) # こんにちは、田中さん!
# デフォルト引数
def greet(name, greeting="こんにちは"):
return f"{greeting}、{name}さん!"
print(greet("田中")) # こんにちは、田中さん!
print(greet("田中", "おはよう")) # おはよう、田中さん!
複数の引数と戻り値
# 可変長引数
def calculate_total(*prices):
"""複数の価格の合計を計算する"""
return sum(prices)
total = calculate_total(100, 200, 300, 500)
print(f"合計: {total}円") # 合計: 1100円
# キーワード引数
def create_user(**kwargs):
"""ユーザー情報を辞書として返す"""
return kwargs
user = create_user(name="田中", age=30, role="エンジニア")
print(user) # {'name': '田中', 'age': 30, 'role': 'エンジニア'}
# 複数の戻り値
def get_min_max(numbers):
return min(numbers), max(numbers)
minimum, maximum = get_min_max([3, 1, 4, 1, 5, 9])
print(f"最小: {minimum}, 最大: {maximum}") # 最小: 1, 最大: 9
ラムダ式
# 無名関数(ラムダ式)
square = lambda x: x ** 2
print(square(5)) # 25
# sorted()と組み合わせた使用例
users = [
{"name": "田中", "age": 30},
{"name": "佐藤", "age": 25},
{"name": "鈴木", "age": 35},
]
sorted_users = sorted(users, key=lambda u: u["age"])
for user in sorted_users:
print(f"{user['name']}: {user['age']}歳")
実践:最初のプログラムを作成する
ここまでの知識を組み合わせて、実用的なプログラムを作成してみましょう。簡単なタスク管理ツールを作ります。
タスク管理CLIツール
以下のコードをtask_manager.pyとして保存し、実行してみましょう。
import json
from datetime import datetime
TASKS_FILE = "tasks.json"
def load_tasks():
"""タスクファイルを読み込む"""
try:
with open(TASKS_FILE, "r", encoding="utf-8") as f:
return json.load(f)
except FileNotFoundError:
return []
def save_tasks(tasks):
"""タスクをファイルに保存する"""
with open(TASKS_FILE, "w", encoding="utf-8") as f:
json.dump(tasks, f, ensure_ascii=False, indent=2)
def add_task(title):
"""新しいタスクを追加する"""
tasks = load_tasks()
task = {
"id": len(tasks) + 1,
"title": title,
"done": False,
"created_at": datetime.now().strftime("%Y-%m-%d %H:%M")
}
tasks.append(task)
save_tasks(tasks)
print(f"タスク「{title}」を追加しました。")
def list_tasks():
"""タスク一覧を表示する"""
tasks = load_tasks()
if not tasks:
print("タスクはありません。")
return
print("\n--- タスク一覧 ---")
for task in tasks:
status = "✓" if task["done"] else " "
print(f"[{status}] {task['id']}. {task['title']} ({task['created_at']})")
print()
def complete_task(task_id):
"""タスクを完了にする"""
tasks = load_tasks()
for task in tasks:
if task["id"] == task_id:
task["done"] = True
save_tasks(tasks)
print(f"タスク「{task['title']}」を完了しました。")
return
print(f"ID {task_id} のタスクが見つかりません。")
def main():
"""メインの実行ループ"""
print("=== タスク管理ツール ===")
print("コマンド: add / list / done / quit")
while True:
command = input("\n> ").strip().lower()
if command == "add":
title = input("タスク名: ").strip()
if title:
add_task(title)
elif command == "list":
list_tasks()
elif command == "done":
try:
task_id = int(input("完了するタスクのID: "))
complete_task(task_id)
except ValueError:
print("数値を入力してください。")
elif command == "quit":
print("終了します。")
break
else:
print("不明なコマンドです。add / list / done / quit を入力してください。")
if __name__ == "__main__":
main()
実行方法は以下のとおりです。
python task_manager.py
このプログラムでは、これまで学んだ変数、関数、条件分岐、ループ、ファイル入出力を組み合わせて実用的なツールを構築しています。JSONファイルを使ったデータの永続化も実装しており、プログラムを再起動してもタスクが保持されます。
次のステップ|Python学習のロードマップ
Pythonの基本を理解したら、次のステップとして以下の学習を進めることをおすすめします。
基礎の深掘り
- クラスとオブジェクト指向:大規模なプログラムを構造化するための設計手法
- 例外処理:try-except文を使ったエラーハンドリング
- モジュールとパッケージ:コードの分割と再利用のための仕組み
- ファイル入出力:CSV、JSON、テキストファイルの読み書き
目的別の学習パス
| 目的 | 学ぶべき技術 | 推奨期間 |
|---|---|---|
| Web開発 | Flask → Django or FastAPI | 2〜3ヶ月 |
| データ分析 | Pandas → Matplotlib → Jupyter | 1〜2ヶ月 |
| 業務自動化 | os, shutil → openpyxl → selenium | 1〜2ヶ月 |
| AI・機械学習 | NumPy → scikit-learn → TensorFlow | 3〜6ヶ月 |
学習を継続するためのヒント
- 公式ドキュメントを活用する:Python公式ドキュメント(日本語版)は最も信頼できる情報源
- 小さなツールを作る:業務で使える小さなスクリプトから始めると、実践的なスキルが身につく
- エラーメッセージを読む習慣:Pythonのエラーメッセージは比較的わかりやすく、トラブルシューティング能力が向上する
- バージョン管理を導入する:Gitを使ってコードの変更履歴を管理する習慣をつける
- 仮想環境を使う:プロジェクトごとにvenvで環境を分けることで、依存パッケージの競合を防げる
まとめ
本記事では、Pythonの始め方として、インストールから基本文法、実践的なプログラム作成までを解説しました。
- Pythonはシンプルな文法と豊富なライブラリにより、初心者に最適な言語
- 環境構築は公式インストーラーまたはパッケージマネージャーで簡単に完了
- VS Codeと公式拡張機能で快適な開発環境が構築可能
- 変数、制御構文、関数の基本を押さえれば、実用的なプログラムが書ける
- 目的に応じた学習パスを選び、小さなツールから始めることが上達の鍵
Pythonは「書きやすく、読みやすい」言語です。まずは本記事のサンプルコードを実際に動かしてみて、プログラミングの楽しさを体験してください。基本を身につけたら、業務自動化やデータ分析など、実務に直結するスキルへとステップアップしていきましょう。
関連記事
AIエージェント開発入門|自律型AIの仕組みと構築方法を解説【2026年版】
AI駆動コーディングワークフロー|Claude Code・Cursor・Copilotの実践的使い分け
プロンプトエンジニアリング上級編|Chain-of-Thought・Few-Shot・ReActの実践
APIレート制限の設計と実装|トークンバケット・スライディングウィンドウ解説
APIバージョニング戦略|URL・ヘッダー・クエリパラメータの使い分け
BIツール入門|Metabase・Redash・Looker Studioでデータ可視化する方法
チャットボット開発入門|LINE Bot・Slack Botの構築方法と活用事例
CI/CDパイプラインの基礎|継続的インテグレーション・デリバリーの全体像