01 / IT FOUNDATION
この講座で、何をできるようにするか。
PythonでCSV集計・ファイル整理・ログ分析を作り、入力・処理・出力とエラーをテストで確認する。
目安36時間。説明・調査・演習・成果物作成・レビューを含む学習計画です。本文を読むだけでこの時間の実習を完了したことにはなりません。進み方と経験に応じて調整します。
学習目標と確認ポイント詳しく見る
- 変数・型・式を説明し、型変換の実験ノートを作る。
- 条件分岐と反復を説明し、条件と期待結果の表を作る。
- 関数・リスト・辞書を説明し、再利用できる集計関数を作る。
- 例外とデバッグを説明し、エラー再現と修正の記録を作る。
- ファイル処理とライブラリを説明し、CSV集計と整理計画ツールを作る。
- ログ分析と仕上げを説明し、3ツールと実行説明書を作る。
ブラウザーで本文・アニメ・問題を確認できます。実機演習は会社が用意した学習環境を使い、Python・Linux・Git・DB等の準備状況を確認してから進めます。
Python・SQL・ログ・架空パケット表・テスト・APIのスターターと説明書を同梱しています。APIは認証・認可等を受講者が追加する未完成の学習用で、公開用完成品ではありません。
共通演習キットをダウンロード
02 / IT FOUNDATION
仕組みを理解し、手を動かして確かめる。
変数・型・式
詳しく見る
学習ブロック 1 / 目安6時間(説明・調査・演習・記録・レビュー)
変数は値を扱う名前で、文字列、整数、浮動小数点、真偽値などには異なる性質があります。CSVから読んだ数字も最初は文字列として扱われることがあり、変換を明示します。金額などでは計算方法と丸めの条件も決めます。
data/sales.csvのamountを読み、文字列の連結と整数の加算を比べる。不正値の行番号を出す。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
条件分岐と反復
詳しく見る
学習ブロック 2 / 目安6時間(説明・調査・演習・記録・レビュー)
ifは条件に応じて処理を分け、forは要素を順に扱います。条件の順序やインデントで結果が変わります。空の入力、0、境界の値がどの分岐へ入るかを手で追ってから実行します。
金額が0、正、負、空欄の4ケースを分け、採用・除外・エラーのルールを実装する。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
関数・リスト・辞書
詳しく見る
学習ブロック 3 / 目安6時間(説明・調査・演習・記録・レビュー)
関数は処理を入力と戻り値で区切り、重複を減らします。リストは順序ある要素、辞書はキーに対応する値を扱います。集計では商品名をキーにして合計し、計算部分をファイル入出力から分けるとテストしやすくなります。
合計関数を作り、同梱のsales_summary.pyと結果を比較する。商品別の辞書を並べ替えて出力する。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
例外とデバッグ
詳しく見る
学習ブロック 4 / 目安6時間(説明・調査・演習・記録・レビュー)
例外は処理を続けられない状態等を伝えます。例外の種類、行、呼び出し元を読み、すべてを握りつぶして成功と表示しないようにします。入力と期待結果を小さくして再現し、原因を一つずつ確かめます。
わざと金額の文字列を混ぜ、ValueErrorの発生箇所を読む。行番号付きの説明に変え、正しい行の扱いを仕様で決める。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
ファイル処理とライブラリ
詳しく見る
学習ブロック 5 / 目安6時間(説明・調査・演習・記録・レビュー)
withでファイルを扱い、文字コードと改行を明示します。CSVはカンマで単純に分割すると引用符や改行を含む項目を誤るため、csvモジュール等を利用します。標準ライブラリと外部ライブラリ、実行環境の依存関係も分けます。
キットのCSVをcsv.DictReaderで読み、UTF-8の出力ファイルを作る。ファイル整理はまず移動案だけを表示するdry-runにする。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
ログ分析と仕上げ
詳しく見る
学習ブロック 6 / 目安6時間(説明・調査・演習・記録・レビュー)
ログから状態や件数を集計するときは、欠損、形式、時刻、単位、個人情報の扱いを考えます。小さな既知データで正しい結果を確認し、使い方と制約をREADMEへ書きます。動いた一例だけで全入力の正しさを判断しません。
app.logからERROR行を抽出し、原因の分類別件数を出す。空ファイル・該当0件・不正行をテストする。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
CSV集計を実行し、値を検算する
python3 sales_summary.py notebook: 1500 pen: 1000 TOTAL: 2500 関数の中心: quantity = int(row["quantity"]) price = int(row["unit_price"]) totals[item] = totals.get(item, 0) + quantity * price 課題:不正な金額、空ファイル、未知の商品を追加し、仕様とテストを決める。 完成例を見る前に、4行の元データで手計算する。
03 / IT FOUNDATION
仕事のアニメ:プログラミング基礎を考える。
新人・アオイさんと先輩・ミナトさんの会話で、「プログラミング基礎」を学びます。最初の場面は「変数は値を扱う名前で、文字列、整数、浮動小数点、真偽値などには異なる性質があります。」。何を確かめ、どう対応するかを順に見ていきましょう。
変数は値を扱う名前で、文字列、整数、浮動小数点、真偽値などには異なる性質があります。
約12秒ごとに場面が切り替わります。再生中も一時停止でき、「前へ」「次へ」で自分のペースで読めます。最終場面で停止します。
アニメの内容をまとめて文章で読む
1. 変数・型・式
アオイ:変数は値を扱う名前で、文字列、整数、浮動小数点、真偽値などには異なる性質があります。
学習ポイント:型変換の実験ノート
2. 条件分岐と反復
ミナト:ifは条件に応じて処理を分け、forは要素を順に扱います。
学習ポイント:条件と期待結果の表
3. 関数・リスト・辞書
アオイ:関数は処理を入力と戻り値で区切り、重複を減らします。
学習ポイント:再利用できる集計関数
4. 例外とデバッグ
ミナト:例外は処理を続けられない状態等を伝えます。
学習ポイント:エラー再現と修正の記録
5. ファイル処理とライブラリ
アオイ:withでファイルを扱い、文字コードと改行を明示します。
学習ポイント:CSV集計と整理計画ツール
6. ログ分析と仕上げ
ミナト:ログから状態や件数を集計するときは、欠損、形式、時刻、単位、個人情報の扱いを考えます。
学習ポイント:3ツールと実行説明書
04 / IT FOUNDATION
演習を完成させ、成果物をレビューする。
演習1
CSVの商品別金額と不正行数を集計し、期待値と照合する。
- 対象・環境・入力データ・期待結果を記録する。
- 上の解説と各ブロックの実習手順を使って作業する。
- 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
- 成果物・再現手順・分かったこと・未確認を残してレビューする。
演習2
ファイルを実際に動かす前に、変更予定一覧を出す整理ツールを作る。
- 対象・環境・入力データ・期待結果を記録する。
- 上の解説と各ブロックの実習手順を使って作業する。
- 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
- 成果物・再現手順・分かったこと・未確認を残してレビューする。
演習3
ログ分析ツールへ不正行と空入力を渡し、例外と結果を確認する。
- 対象・環境・入力データ・期待結果を記録する。
- 上の解説と各ブロックの実習手順を使って作業する。
- 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
- 成果物・再現手順・分かったこと・未確認を残してレビューする。
正しい用語で説明できるか/入力と結果が対応しているか/正常だけでなく失敗する条件も扱ったか/他の人が再現できるか/残る課題を隠していないか。
05 / IT FOUNDATION
確認問題:答えより、理由を説明する。
全5問。選ぶと解説が表示されます。何度でも選び直せます。
回答済み 0 / 5問
06 / IT FOUNDATION
成果物を残し、理解と未確認を分ける。
架空データを使い、根拠と結果を自分の言葉でまとめます。回答とメモは自動保存・外部送信しません。残したい内容はコピーするか、成果物ファイルへ記入してください。
07 / IT FOUNDATION
説明・実装・記録を、一つの成果へつなげる。
PythonでCSV集計・ファイル整理・ログ分析を作り、入力・処理・出力とエラーをテストで確認する。
- 型変換の実験ノート
- 条件と期待結果の表
- 再利用できる集計関数
- エラー再現と修正の記録
- CSV集計と整理計画ツール
- 3ツールと実行説明書
08 / IT FOUNDATION
