はじめに:なぜ今Pythonを学ぶべきか
Pythonは2026年現在も世界で最も人気のあるプログラミング言語の一つです。AI・機械学習、データ分析、Web開発、自動化スクリプトなど、幅広い分野で活用されており、初心者から上級者まで多くのエンジニアに選ばれています。
本記事では、Pythonの基礎文法から実践的な応用まで、現役エンジニアの視点で徹底的に解説します。
Pythonとは?基本的な特徴
- 読みやすい文法:インデントベースの構文で可読性が高い
- 豊富なライブラリ:NumPy, Pandas, TensorFlow, Djangoなど
- マルチパラダイム:手続き型・オブジェクト指向・関数型をサポート
- クロスプラットフォーム:Windows、Mac、Linuxで動作
Python環境構築:2026年版最新ガイド
Pythonのインストール
公式サイト(python.org)から最新バージョン(3.12以上推奨)をダウンロードします。
# バージョン確認
python --version
# Python 3.12.x
# pipのアップデート
pip install --upgrade pip
仮想環境の設定(推奨)
# 仮想環境の作成
python -m venv myenv
# 有効化(Mac/Linux)
source myenv/bin/activate
# 有効化(Windows)
myenv\Scripts\activate
Python基礎文法:必須知識まとめ
変数とデータ型
# 基本的なデータ型
name = "Tech Athletes" # 文字列(str)
age = 25 # 整数(int)
salary = 750000.0 # 浮動小数点数(float)
is_engineer = True # 真偽値(bool)
# リスト(変更可能)
languages = ["Python", "JavaScript", "TypeScript"]
# タプル(変更不可)
coordinates = (35.6762, 139.6503)
# 辞書(キーと値のペア)
profile = {
"name": "エンジニア太郎",
"skills": ["Python", "AWS", "Docker"],
"experience": 5
}
# セット(重複なし)
unique_tags = {"Python", "AI", "Web開発"}
制御構文
# if文
score = 85
if score >= 90:
print("優")
elif score >= 70:
print("良")
else:
print("可")
# forループ
for lang in languages:
print(f"スキル: {lang}")
# while文
count = 0
while count < 5:
print(f"カウント: {count}")
count += 1
# リスト内包表記(Pythonic)
squares = [x**2 for x in range(10)]
関数とクラス
# 関数定義
def calculate_bmi(weight: float, height: float) -> float:
"""BMIを計算する関数"""
return weight / (height ** 2)
# デフォルト引数
def greet(name: str, greeting: str = "こんにちは") -> str:
return f"{greeting}、{name}さん!"
# クラス定義
class Engineer:
def __init__(self, name: str, skills: list):
self.name = name
self.skills = skills
def introduce(self) -> str:
return f"私は{self.name}です。{', '.join(self.skills)}が得意です。"
def add_skill(self, skill: str) -> None:
self.skills.append(skill)
# インスタンス作成
engineer = Engineer("田中太郎", ["Python", "AWS"])
print(engineer.introduce())
Pythonの実践活用:AI・データ分析編
NumPyとPandasによるデータ分析
import numpy as np
import pandas as pd
# NumPy配列
arr = np.array([1, 2, 3, 4, 5])
print(arr.mean()) # 平均値: 3.0
print(arr.std()) # 標準偏差
# Pandasデータフレーム
data = {
"名前": ["田中", "佐藤", "鈴木"],
"年収": [500, 700, 600],
"経験年数": [3, 7, 5]
}
df = pd.DataFrame(data)
# 基本統計
print(df.describe())
# フィルタリング
senior = df[df["経験年数"] >= 5]
機械学習入門(scikit-learn)
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# データの準備
X = df[["経験年数"]].values
y = df["年収"].values
# 学習・テストデータに分割
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
# モデルの学習
model = LinearRegression()
model.fit(X_train, y_train)
# 予測と評価
y_pred = model.predict(X_test)
print(f"MSE: {mean_squared_error(y_test, y_pred):.2f}")
PythonによるWeb開発(Django・FastAPI)
FastAPIで簡単なAPIを作る
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_available: bool = True
@app.get("/")
async def root():
return {"message": "Tech Athletes API"}
@app.post("/items/")
async def create_item(item: Item):
return {"item": item, "status": "created"}
@app.get("/items/{item_id}")
async def get_item(item_id: int):
return {"item_id": item_id}
# 起動: uvicorn main:app --reload
Pythonの自動化スクリプト活用術
import os
import shutil
from pathlib import Path
# ファイル整理の自動化
def organize_downloads(downloads_path: str):
"""ダウンロードフォルダを拡張子別に整理"""
extensions = {
"画像": [".jpg", ".jpeg", ".png", ".gif", ".svg"],
"文書": [".pdf", ".docx", ".xlsx", ".txt"],
"動画": [".mp4", ".mov", ".avi"],
"音楽": [".mp3", ".wav", ".flac"],
"コード": [".py", ".js", ".ts", ".html", ".css"]
}
for file in Path(downloads_path).iterdir():
if file.is_file():
for folder, exts in extensions.items():
if file.suffix.lower() in exts:
dest = Path(downloads_path) / folder
dest.mkdir(exist_ok=True)
shutil.move(str(file), str(dest / file.name))
break
organize_downloads("/Users/username/Downloads")
おすすめのPython学習リソース
- 公式ドキュメント:Python公式チュートリアル(日本語)
- Udemy:「Complete Python Bootcamp」等の人気コース(頻繁にセール実施)
- Progate:初心者向けのインタラクティブ学習
- AtCoder:アルゴリズム問題でPythonを鍛える
- kaggle:データ分析・機械学習の実践練習
まとめ
Pythonは汎用性が高く、学習コストが低いプログラミング言語です。基礎文法から始めて、AI・データ分析・Web開発・自動化と段階的にスキルを積み上げることができます。
2026年においてもPythonの需要は非常に高く、特にAI・機械学習分野では欠かせない言語です。ぜひ本記事を参考に、Python学習を始めてみてください。