はじめに:なぜPythonを学ぶべきか
Pythonは2026年現在、世界で最も人気の高いプログラミング言語のひとつです。TIOBEインデックスでも常に上位をキープし、AI・機械学習・データサイエンス・Web開発・自動化まで、あらゆる分野で活躍しています。
本記事では、Pythonをこれから学ぶ初心者から、さらに深く学びたい中級者まで対応した完全入門ガイドをお届けします。
Pythonの特徴とメリット
- 読みやすいシンタックス:英語に近い記法で、初心者でも理解しやすい
- 豊富なライブラリ:NumPy、Pandas、TensorFlow、Djangoなど数万のパッケージ
- マルチパラダイム:手続き型・オブジェクト指向・関数型プログラミングに対応
- 高い需要:AI・データサイエンス分野での求人が急増中
- 無料・オープンソース:誰でも無料で使える
Pythonのインストール方法(Windows・Mac・Linux)
Windows環境へのインストール
1. python.orgにアクセス
2. 「Download Python 3.x.x」をクリック
3. インストーラーを起動し、「Add Python to PATH」にチェックを入れる
4. コマンドプロンプトで python --version を実行して確認
Mac環境へのインストール
Homebrewを使うのがおすすめです:
brew install python3
python3 --version
pyenvによるバージョン管理
複数プロジェクトを扱うならpyenvが便利です。
# pyenvインストール(Mac/Linux)
curl https://pyenv.run | bash
# Python 3.12をインストール
pyenv install 3.12.0
pyenv global 3.12.0
Python基礎文法:変数・データ型・演算子
# 変数と基本的なデータ型
name = "Python" # 文字列 (str)
version = 3.12 # 浮動小数点 (float)
year = 2026 # 整数 (int)
is_popular = True # ブール値 (bool)
# リスト(可変)
languages = ["Python", "JavaScript", "Go", "Rust"]
# タプル(不変)
coordinates = (35.6762, 139.6503)
# 辞書
profile = {
"name": "Tech Athletes",
"founded": 2024,
"category": "tech blog"
}
# 集合
unique_tags = {"python", "programming", "ai"}
print(f"{name} {version} - {year}年の最新版")
制御フロー:条件分岐とループ
# if文
score = 85
if score >= 90:
grade = "S"
elif score >= 80:
grade = "A"
elif score >= 70:
grade = "B"
else:
grade = "C"
print(f"グレード: {grade}")
# forループ
for lang in ["Python", "Go", "Rust"]:
print(f"言語: {lang}")
# リスト内包表記(Pythonらしい書き方)
squares = [x**2 for x in range(1, 11)]
even_squares = [x**2 for x in range(1, 11) if x % 2 == 0]
# whileループ
count = 0
while count < 5:
print(count)
count += 1
関数とモジュール
# 関数定義
def calculate_bmi(weight: float, height: float) -> float:
"""
BMIを計算する関数
Args:
weight: 体重(kg)
height: 身長(m)
Returns:
BMI値
"""
return weight / (height ** 2)
# デフォルト引数
def greet(name: str, greeting: str = "こんにちは") -> str:
return f"{greeting}、{name}さん!"
# *args と **kwargs
def sum_all(*args):
return sum(args)
def create_profile(**kwargs):
return kwargs
# ラムダ関数
multiply = lambda x, y: x * y
print(multiply(3, 4)) # 12
# 高階関数
numbers = [1, 2, 3, 4, 5]
doubled = list(map(lambda x: x * 2, numbers))
evens = list(filter(lambda x: x % 2 == 0, numbers))
オブジェクト指向プログラミング(OOP)
from dataclasses import dataclass
from typing import Optional
@dataclass
class Engineer:
name: str
skills: list[str]
years_of_experience: int
annual_salary: Optional[int] = None
def introduce(self) -> str:
skills_str = "、".join(self.skills[:3])
return f"{self.name}です。{self.years_of_experience}年の経験があります。得意技術: {skills_str}"
def estimate_salary(self) -> int:
base = 400_000
skill_bonus = len(self.skills) * 50_000
exp_bonus = self.years_of_experience * 100_000
return base + skill_bonus + exp_bonus
# 継承
class SeniorEngineer(Engineer):
def __init__(self, name: str, skills: list[str], years: int, specialty: str):
super().__init__(name, skills, years)
self.specialty = specialty
def lead_project(self, project_name: str) -> str:
return f"{self.name}が{project_name}プロジェクトをリード中"
# 使用例
engineer = Engineer("山田太郎", ["Python", "AWS", "Docker", "FastAPI"], 5)
print(engineer.introduce())
print(f"推定年収: {engineer.estimate_salary():,}円")
Pythonの主要ライブラリ一覧
| カテゴリ | ライブラリ | 用途 |
|---|---|---|
| データ処理 | Pandas | データフレーム操作・分析 |
| 数値計算 | NumPy | 高速な配列演算 |
| 機械学習 | scikit-learn | 分類・回帰・クラスタリング |
| 深層学習 | PyTorch / TensorFlow | ニューラルネットワーク |
| 可視化 | Matplotlib / Seaborn | グラフ・チャート作成 |
| Web開発 | FastAPI / Django / Flask | APIサーバー・Webアプリ |
| Web scraping | BeautifulSoup / Scrapy | Webスクレイピング |
| 自動化 | Selenium / Playwright | ブラウザ自動操作 |
仮想環境の使い方(venv・Poetry)
# venvで仮想環境を作成
python -m venv myenv
source myenv/bin/activate # Mac/Linux
myenvScriptsactivate # Windows
# pipでパッケージインストール
pip install fastapi uvicorn pandas
# requirements.txtで管理
pip freeze > requirements.txt
pip install -r requirements.txt
# Poetryを使う方法(モダンな管理)
pip install poetry
poetry new my-project
cd my-project
poetry add fastapi
poetry add --dev pytest black
PythonでAPI開発:FastAPIを使った実践例
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from typing import Optional
import uvicorn
app = FastAPI(
title="Tech Athletes API",
description="エンジニア向けサンプルAPI",
version="1.0.0"
)
# データモデル
class Article(BaseModel):
id: Optional[int] = None
title: str
content: str
category: str
tags: list[str] = []
articles_db = []
@app.get("/")
async def root():
return {"message": "Tech Athletes API へようこそ!"}
@app.get("/articles")
async def get_articles(category: Optional[str] = None):
if category:
return [a for a in articles_db if a["category"] == category]
return articles_db
@app.post("/articles", status_code=201)
async def create_article(article: Article):
article.id = len(articles_db) + 1
articles_db.append(article.dict())
return article
@app.get("/articles/{article_id}")
async def get_article(article_id: int):
for a in articles_db:
if a["id"] == article_id:
return a
raise HTTPException(status_code=404, detail="記事が見つかりません")
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)
PythonでAI・機械学習を始める
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, classification_report
# データ準備
df = pd.read_csv("tech_skills_data.csv")
# 特徴量と目標変数
X = df[["years_exp", "python_score", "ml_score", "cloud_score"]]
y = df["senior_engineer"] # 0 or 1
# 訓練・テスト分割
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
# モデル訓練
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
# 評価
y_pred = model.predict(X_test)
print(f"精度: {accuracy_score(y_test, y_pred):.3f}")
print(classification_report(y_test, y_pred))
Pythonエンジニアの年収・キャリアパス
2026年現在、Pythonエンジニアの平均年収は以下の通りです:
- 未経験〜1年:400〜500万円
- 2〜4年:600〜800万円
- 5年以上(AIエンジニア):900〜1,500万円
- MLエンジニア・リサーチャー:1,200〜2,000万円
特にLLM(大規模言語モデル)やRAG(Retrieval Augmented Generation)の開発経験があるエンジニアは市場価値が急上昇しています。
Python学習ロードマップ(2026年版)
ステップ1(1〜2ヶ月):基礎習得
変数・データ型・制御フロー・関数・モジュールをマスター
ステップ2(2〜3ヶ月):ライブラリ活用
NumPy・Pandas・Matplotlibを使ったデータ処理
ステップ3(3〜4ヶ月):専門分野選択
Web開発(FastAPI/Django)またはAI/MLへ進む
ステップ4(継続):実案件・副業・OSS貢献
GitHub公開・Kaggle参加・フリーランス案件でポートフォリオ構築
おすすめの学習リソース
- 書籍:「Python クラッシュコース」「Effective Python」
- オンライン:Udemy「完全初心者向けPython入門コース」、Paiza Learning
- 実践:Kaggle(データサイエンスコンペ)、LeetCode(アルゴリズム)
- 公式ドキュメント:docs.python.org/ja
まとめ
Pythonは習得しやすく、かつ実用性が非常に高いプログラミング言語です。AI・データサイエンス・Web開発・自動化など、あらゆる場面で活躍します。
本記事を参考に、まずは環境構築から始めて、コードを書く習慣をつけていきましょう。Tech Athletesでは引き続きPythonの応用記事も発信していきますので、ブックマークしてご活用ください!