コンテンツにスキップ

2 Python プログラミング基礎

Python プログラミング基礎メインビジュアル

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

Python AI 主力能力チェーン

先に図を見てください。入門段階の Python プログラムは、ほとんどこの流れです。

入力データ構造関数ファイル/API/出力

Python が AI の主流であり続けるのは、この同じ流れが後でデータ整理、モデル学習、RAG 検索、API ラップ、Agent ツールになるからです。

このチェックリストを、本章の学習ガイド兼タスクリストとして使います。順番に進め、それぞれのステップで確認できる成果物を残します。

  1. 2.1.1 Python イントロダクション から 2.1.5 制御フロー 手を動かすこと:変数、入出力、条件分岐、ループの小さなスクリプトを入力して変える。 残す証拠:期待どおりに出力する 5 つのスクリプト。

  2. 2.1.6 データ構造 手を動かすこと:同じタスクリストを、リスト・辞書・JSON 形のオブジェクトで保存してみる。 残す証拠:どの構造が合うかを説明するメモ。

  3. 2.1.7 関数の基礎2.1.8 モジュールとパッケージ 手を動かすこと:繰り返し処理を関数とモジュールへ分ける。 残す証拠:入力と戻り値が明確なスクリプト。

  4. 2.2.2 例外処理2.2.3 ファイル操作 手を動かすこと:データを保存し、読み戻し、ファイル欠落や破損を扱う。 残す証拠:JSON/テキストファイルとデバッグメモ 1 件。

  5. 2.2.1 オブジェクト指向2.2.5 イテレータ2.2.6 型ヒント 手を動かすこと:まず軽く読み、プロジェクトで構造や明確さが必要になったら戻る。 残す証拠:リファクタした関数またはクラス。

  6. 2.3.1 タスク管理ツール から 2.3.4 AI API 体験 手を動かすこと:データ保存、データ収集、API 提供、AI API 呼び出しの小プロジェクトを作る。 残す証拠:README の実行コマンド付きプロジェクトフォルダ。

  7. 2.3.5 ハンズオンワークショップ 手を動かすこと:CLI コマンド、JSON 永続化、統計、レポート出力をつなげる。 残す証拠:ch02_output/ とターミナル出力。

本章でよく使う用語:

用語意味
CLICommand-Line Interface:文字コマンドで操作するプログラム
I/OInput/Output:データが入り、結果が出る流れ
JSONタスク、設定、API レスポンスを保存しやすい入れ子のテキスト形式
APIあるプログラムが別のプログラムを呼び出す入口
SDKAPI を使いやすい関数として包んだライブラリ

空の練習フォルダで次のコードを実行します。サードパーティパッケージなしで、最小の 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)} 件のタスクを保存しました")

期待される出力:

Terminal window
1 件のタスクを保存しました

2 回続けて実行してください。2 回目は 2 件のタスクを保存しました と出るはずです。これで、状態を保存して読み戻せることが確認できます。

  • 1 回目の実行は、プログラムがデータファイルを作れることを示します。
  • 2 回目の実行は、前回の状態を読み取り、新しいデータを追加できることを示します。
  • 本当の成果物は tasks.json で、表示された行は確認用のサインです。
  • 2 回目も 1 のままなら、まず作業ディレクトリとファイルパスを確認します。
レベル証明できること
最低合格式、条件分岐、ループ、関数を書き、期待どおりの出力を出せる。
プロジェクト利用可データを永続化し、1 つの失敗経路を扱い、README で入力と出力を説明できる。
深い確認中核ロジックをファイル/API 境界から分け、意図が明確になる場所に型ヒントを置き、変更前に 1 つの境界ケースを確認できる。

このページを終えたら、この evidence card を残します。

プログラムループ
入力、処理、出力、そしてあれば保存状態
コードファイル
再実行できる Python ファイルまたは notebook セル
出力
印字結果、ファイル結果、またはユーザー向けの動作
失敗確認
構文、パス、型、依存関係、または制御フローの問題
期待される成果
データと AI アプリの準備をする、再実行可能な Python アーティファクト
症状最初に確認することよくある修正
構文エラーエラー行とその 1 行前インデント、括弧、引用符、コロンを確認する
ファイルが見つからない現在の実行ディレクトリPath.cwd() を表示し、ファイルを移動するかパスを直す
JSON 解析に失敗するファイルが空、または形式が壊れていないかtry/except を追加し、失敗時は空リストに戻す
関数が分かりにくい入力、戻り値、隠れたグローバル状態1 つの責任を持つ小さな関数に分ける
API 呼び出しが失敗するパラメータ、ステータスコード、返ってきたエラー本文レスポンスを安全に表示し、失敗時の処理を書く

次の 5 つに答えられたら、第 3 章へ進めます。

  • 何のデータが入り、何の結果が出ますか?
  • どんなときにリストより辞書が合いますか?
  • ファイルパスはどのフォルダを基準にしていますか?
  • printreturn の違いは何ですか?
  • 他の人が README を見てプロジェクトを実行できますか?
確認の考え方と解説
  1. プログラムの入力は、コマンドラインの文字列、ユーザー入力、ファイル、API レスポンスなどです。出力は、表示テキスト、戻り値、保存されたファイル、別プログラムへのレスポンスなどです。
  2. 各項目に名前付きのフィールドが必要なとき、またはキーで素早く探したいときは辞書が向いています。順序のある同種の項目を並べるならリストが向いています。
  3. 相対パスは現在の作業ディレクトリを基準に解決されます。必ずしもスクリプトのフォルダではありません。Path.cwd()Path(__file__).resolve() で確認できます。
  4. print() は人に見せるために表示し、通常は None を返します。return は呼び出し元へ値を返し、再利用、テスト、保存に使えます。
  5. README は、新しいターミナルで依存関係を入れ、コマンドを実行し、期待する出力を再現できれば合格です。

印刷用のチェックリストが必要なときは、2.0 学習ガイドとタスクリスト を使ってください。次の章では、Python で CSV を処理し、データを分析し、データベースに接続します。