2 Python プログラミング基礎

第 2 章の目的は 1 つです。小さなアイデアを、実行でき、データを保存でき、エラーを扱え、説明できる Python プログラムにすることです。
まず Python の作業ループを見る

先に図を見てください。入門段階の Python プログラムは、ほとんどこの流れです。
入力 -> データ構造 -> 関数 -> ファイル/API/出力
Python が AI の主流であり続けるのは、この同じ流れが後でデータ整理、モデル学習、RAG 検索、API ラップ、Agent ツールになるからです。
学習順序とタスクリスト
この表を、本章の学習ガイド兼タスクリストとして使います。
| ページ | 手を動かすこと | 残す証拠 |
|---|---|---|
| 2.1.1 Python イントロダクション から 2.1.5 制御フロー | 変数、入出力、条件分岐、ループの小さなスクリプトを入力して変える | 期待どおりに出力する 5 つのスクリプト |
| 2.1.6 データ構造 | 同じタスクリストを、リスト・辞書・JSON 形のオブジェクトで保存してみる | どの構造が合うかを説明するメモ |
| 2.1.7 関数の基礎 と 2.1.8 モジュールとパッケージ | 繰り返し処理を関数とモジュールへ分ける | 入力と戻り値が明確なスクリプト |
| 2.2.2 例外処理 と 2.2.3 ファイル操作 | データを保存し、読み戻し、ファイル欠落や破損を扱う | JSON/テキストファイルとデバッグメモ 1 件 |
| 2.2.1 オブジェクト指向、2.2.5 イテレータ、2.2.6 型ヒント | まず軽く読み、プロジェクトで構造や明確さが必要になったら戻る | リファクタした関数またはクラス |
| 2.3.1 タスク管理ツール から 2.3.4 AI API 体験 | データ保存、データ収集、API 提供、AI API 呼び出しの小プロジェクトを作る | README の実行コマンド付きプロジェクトフォルダ |
| 2.3.5 ハンズオンワークショップ | CLI コマンド、JSON 永続化、統計、レポート出力をつなげる | ch02_output/ とターミナル出力 |
本章でよく使う用語:
| 用語 | 意味 |
|---|---|
CLI | Command-Line Interface:文字コマンドで操作するプログラム |
I/O | Input/Output:データが入り、結果が出る流れ |
JSON | タスク、設定、API レスポンスを保存しやすい入れ子のテキスト形式 |
API | あるプログラムが別のプログラムを呼び出す入口 |
SDK | API を使いやすい関数として包んだライブラリ |
最初の実行ループ
空の練習フォルダで次のコードを実行します。サードパーティパッケージなしで、最小の JSON タスク管理ツールを作ります。
import json
from pathlib import Path
DATA = Path("tasks.json")
def load_tasks():
if not DATA.exists():
return []
try:
return json.loads(DATA.read_text(encoding="utf-8"))
except json.JSONDecodeError:
return []
def save_tasks(tasks):
DATA.write_text(json.dumps(tasks, ensure_ascii=False, indent=2), encoding="utf-8")
tasks = load_tasks()
tasks.append({"title": "Python のファイル読み書きを学ぶ", "done": False})
save_tasks(tasks)
print(f"{len(tasks)} 件のタスクを保存しました")
期待される出力:
1 件のタスクを保存しました
2 回続けて実行してください。2 回目は 2 件のタスクを保存しました と出るはずです。これで、状態を保存して読み戻せることが確認できます。
よくある失敗
| 症状 | 最初に確認すること | よくある修正 |
|---|---|---|
| 構文エラー | エラー行とその 1 行前 | インデント、括弧、引用符、コロンを確認する |
| ファイルが見つからない | 現在の実行ディレクトリ | Path.cwd() を表示し、ファイルを移動するかパスを直す |
| JSON 解析に失敗する | ファイルが空、または形式が壊れていないか | try/except を追加し、失敗時は空リストに戻す |
| 関数が分かりにくい | 入力、戻り値、隠れたグローバル状態 | 1 つの責任を持つ小さな関数に分ける |
| API 呼び出しが失敗する | パラメータ、ステータスコード、返ってきたエラー本文 | レスポンスを安全に表示し、失敗時の処理を書く |
通過チェック
次の 5 つに答えられたら、第 3 章へ進めます。
- 何のデータが入り、何の結果が出ますか?
- どんなときにリストより辞書が合いますか?
- ファイルパスはどのフォルダを基準にしていますか?
printとreturnの違いは何ですか?- 他の人が README を見てプロジェクトを実行できますか?
印刷用のチェックリストが必要なときは、2.0 学習ガイドとタスクリスト を使ってください。次の章では、Python で CSV を処理し、データを分析し、データベースに接続します。