値の調査と型ラベル
独立習得チェック(AI 支援なし)。
前提条件
Day 03 のリカバリードリルを完了していること。ターミナルから Python を起動できること。予測→観察の手順を復習しておくこと。
学習目標
repr()、type()、bool() を使って、画面上では似て見える値(0、"0"、""、None)を区別し、テキストの "0" が数値の 0 ではない理由を説明できる。
手順
参照資料: この活動に割り当てられた既存の読解・練習時間内で、Automate the Boring Stuff with Python, 3rd edition の Chapter 1; Practice Questions; Appendix B answers を参照し、ローカル課題とのつながりを一つ自分の言葉で説明する。既存の演習と合格基準は維持し、外部資料が開けない場合は本コース独自の説明を使う。必須課題:次のコードを census.py として保存します。実行する前に、出力される各行の予測を書き出してください。その後 python3 census.py を実行し、正確な出力を記録して予測と比較します。
for value in [0, "0", "", None]:
print(repr(value), type(value).__name__, bool(value))
print("0" == 0, int("0") == 0)
"0"(テキスト)と 0(整数)が、repr() の表示・型・真偽値のすべてで異なる理由を 1~2 文で説明してください。
任意課題:必須の証拠がそろった後でのみ、好きな値(例:0.0 や "False")をリストに 1 つ追加し、その行を予測してから再実行します。
演習と予測記録
次のプログラムを実行する前に 5 行すべての出力を予測し、その後で正確な出力を記録してください。
for value in [0, "0", "", None]:
print(repr(value), type(value).__name__, bool(value))
print("0" == 0, int("0") == 0)
最後に、テキストの "0" が数値のゼロではない理由を説明してください。
print() は引用符を表示しませんが、repr() は表示します。空でない文字列は、中身が 0 という 1 文字だけでも真になります。また、文字列が整数と等しくなることはありません。
正確な出力:
0 int False
'0' str True
'' str False
None NoneType False
False True
解説:repr() は文字列を引用符付きで表示するため、"0" は '0' と表示され、整数は 0 と表示されます。type(...).__name__ は 0 なら int、"0" と "" なら str、None なら NoneType です。bool() は数値のゼロ・空文字列・None に対して False ですが、"0" は空でない文字列なので True です。最終行のとおり "0" == 0 は False(str は int と等しくならない)で、int("0") でテキストを数値 0 に変換すれば比較は True になります。
客観的理解度チェックと診断トレース
以下の設問に解答して理解度を確認してください。提出前に利用した補助条件を誠実に申告してください。
print(repr("0"), type("0").__name__, bool("0")) は何を出力しますか?
"0" は 1 文字の文字列です。repr() では '0' と表示され、型は str、空でない文字列は真なので、出力は '0' str True です。
repr() は文字列の引用符を残します。文字列のうち偽になるのは空文字列だけです。
解答根拠と履歴
予測ログと観測した出力に上記 5 行が正確に含まれ、説明の中で型の違い(str と int)、真偽値の規則(空でない文字列は True)、int() による明示的な変換が必要なことに触れていること。ログには必須/任意の区別と、AI 支援を使っていないことを明記すること。
公式ソースリソースと権利証跡
Automate the Boring Stuff with Python, 3rd edition
該当セクション・タイムスタンプ: Chapter 1; Practice Questions; Appendix B answers
検証バージョンと日付: Public edition checked 2026-11-01; moving pages may change
Beginner teaching and answer-keyed practice before checking exact semantics in the Python reference; selected chapters only, not the book's entire automation stack.
No prior programming required for Chapter 1; later chapters assume its basic Python concepts.
Use the original localized explanations, exercises and checks already present in this activity; no external account or purchase is required for that fallback.
比較対象候補リソースと選定評価 (2)
Guided Python syntax but assumes programming familiarity; paired with the beginner text rather than used as its replacement.
Lectures and problem sets teach a broader CS1 course; the book offers shorter text-first entry and an answer appendix.
Python Standard Library: Built-in Types
該当セクション・タイムスタンプ: 「真理値判定」「比較」「ミュータブルなシーケンス型」の各節
検証バージョンと日付: Python 3.12 documentation (verified 2026-10-30)
真偽値、比較、束縛、ミューテーションの動作を確認するための規範的なリファレンス。
Day 03 の復旧演習
教材に含まれる Python の例を実行し、インストール済みインタープリタのヘルプを参照してください。
比較対象候補リソースと選定評価 (2)
オブジェクトの意味論をより深く扱うリファレンスで、式レベルの演習に必要な範囲を超えます。stdtypes なら演算子レベルの内容に範囲を絞れます。
同じ演算子を文章で順に説明する入門資料です。正規のシグネチャの参照元としてライブラリリファレンスを選びました。
Git User Manual: Recording Changes
該当セクション・タイムスタンプ: リポジトリへの変更の記録
検証バージョンと日付: Verified 2026-10-30
安全にコミットする前に小さな差分を確認するための一次資料。
Git の基礎知識
ローカルで git diff と git status を使ってください。差分を理解するまではコミットしないでください。
比較対象候補リソースと選定評価 (2)
コマンドのフラグを調べるためのリファレンスです。コミット前に変更を確認する手順を順に学べるため、Pro Git の章を選びました。
商用提供の分かりやすい解説です。同じ変更確認の習慣について、書籍の章のほうがステージングとインデックスの意味を詳しく説明しています。