実データ入力の真偽値表
独立習得確認(AI 支援なし)。
前提条件
Day 05 の比較チェックを完了していること。python3 で Python ファイルを実行し、その出力を読めること。
学習目標
空・ゼロ・空白の入力に対する bool() の結果を予測して検証し、`if value:` という分岐が実データを誤判定しうる理由を説明する。
手順
必須課題:何も実行する前に、[]、[0]、""、" "、0、"0" のそれぞれについて、bool(value) と分岐 presence(value)(真なら "present"、偽なら "missing")の結果の予測を書き出してください。その後プログラムを実行し、出力を正確にコピーして、予測と食い違った行すべてに印を付けます。
振り返り:食い違いごとに、規則を 1 文で書きます。空のコンテナと数値のゼロは偽、" " や "0" を含む空でない文字列はすべて真です。
任意課題:必須の証拠がそろった後に限り、None と [[]] をリストに追加し、先に予測してから実行してください。
演習と予測記録
truthiness.py を作成し、presence(value)(value が真なら "present"、それ以外は "missing" を返す)を定義してください。[]、[0]、""、" "、0、"0" の順に、各値の repr(value)、bool(value)、presence(value) を 1 行に出力します。
文字列が偽になるのは長さが 0 のときだけなので、" "(空白 1 文字)と "0" は真です。リストが偽になるのは空のときだけなので、唯一の要素が偽であっても [0] は真です。
参考解答(truthiness.py):
def presence(value):
if value:
return "present"
return "missing"
for value in [[], [0], "", " ", 0, "0"]:
print(repr(value), bool(value), presence(value))
正確な出力(Python 3.13 および 3.14):
[] False missing
[0] True present
'' False missing
' ' True present
0 False missing
'0' True present
解説:[]、""、0 は偽なので、分岐は "missing" と報告します。[0]、" "、"0" は真なので "present" と報告します。紛らわしいのは 2 行です。空白だけのテキストはデータを持たないのに present と報告され、数値の 0 は実在する値なのに missing と報告されます。意味が重要な場面では、真偽値に頼らず明示的に判定してください(例:text.strip() == "" や value is None)。
客観的理解度チェックと診断トレース
以下の設問に解答して理解度を確認してください。提出前に利用した補助条件を誠実に申告してください。
真偽値表の中で、目に見えるデータを持たないのに真であり、presence(value) が "present" と報告する入力はどれですか?
文字列の長さが 1 なので bool(" ") は True です。"" と [] は空なので偽となり、"missing" と報告されます。
文字列の真偽は長さだけで決まり、文字の見た目には左右されません。
解答根拠と履歴
AI 支援なしで、6 つの入力すべての予測を実行前に記録し、取得した出力が参考解答と完全に一致し、紛らわしい 2 行(`" "` が present、`0` が missing)を正しく説明できること。必須課題と任意課題を区別し、証拠には独立条件での取り組みであることを明記すること。
公式ソースリソースと権利証跡
Python Standard Library: Built-in Types
該当セクション・タイムスタンプ: 「真理値判定」「比較」「ミュータブルなシーケンス型」の各節
検証バージョンと日付: Python 3.12 ドキュメント(確認日: 2026-10-30)
真偽値、比較、束縛、ミューテーションの動作を確認するための規範的なリファレンス。
Day 03 の復旧演習
教材に含まれる Python の例を実行し、インストール済みインタープリタのヘルプを参照してください。
比較対象候補リソースと選定評価 (2)
オブジェクトの意味論をより深く扱うリファレンスで、式レベルの演習に必要な範囲を超えます。stdtypes なら演算子レベルの内容に範囲を絞れます。
同じ演算子を文章で順に説明する入門資料です。正規のシグネチャの参照元としてライブラリリファレンスを選びました。
Git User Manual: Recording Changes
該当セクション・タイムスタンプ: リポジトリへの変更の記録
検証バージョンと日付: 確認日: 2026-10-30
安全にコミットする前に小さな差分を確認するための一次資料。
Git の基礎知識
ローカルで git diff と git status を使ってください。差分を理解するまではコミットしないでください。
比較対象候補リソースと選定評価 (2)
コマンドのフラグを調べるためのリファレンスです。コミット前に変更を確認する手順を順に学べるため、Pro Git の章を選びました。
商用提供の分かりやすい解説です。同じ変更確認の習慣について、書籍の章のほうがステージングとインデックスの意味を詳しく説明しています。