Python で値が偽値(falsy)かどうかをチェックする方法

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Python で偽値(falsy values)を識別する方法を学びます。偽値を理解することは、効果的な条件文を書くために不可欠です。

この実験では、FalseNone00.0''[]{}() などの一般的な偽値をリストアップする手順を案内します。Python スクリプトを作成してこれらの値を反復処理し、if 文を使用してそれらが偽値であることを検証します。さらに、not 演算子を使用して値が偽値であるかどうかをチェックする方法を探ります。最後に、bool() 関数を使用して偽値をテストする方法を学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/booleans -.-> lab-559593{{"Python で値が偽値(falsy)かどうかをチェックする方法"}} python/conditional_statements -.-> lab-559593{{"Python で値が偽値(falsy)かどうかをチェックする方法"}} python/build_in_functions -.-> lab-559593{{"Python で値が偽値(falsy)かどうかをチェックする方法"}} python/data_collections -.-> lab-559593{{"Python で値が偽値(falsy)かどうかをチェックする方法"}} end

一般的な偽値(falsy values)をリストする

Python では、特定の値は「偽値(falsy)」と見なされます。つまり、ブール型のコンテキストでは False と評価されます。偽値を理解することは、効果的な条件文を書き、さまざまなデータ型を扱うために重要です。このステップでは、Python の一般的な偽値について学びます。

以下の値は、Python で一般的に偽値と見なされます。

  • False:ブール値の False そのもの。
  • None:値の欠如またはヌル値を表します。
  • 0:整数のゼロ。
  • 0.0:浮動小数点数のゼロ。
  • '':空の文字列。
  • []:空のリスト。
  • {}:空の辞書。
  • ():空のタプル。

これらの偽値を調べるための Python スクリプトを作成しましょう。

  1. WebIDE を開きます。
  2. ファイルエクスプローラで、~/project ディレクトリに移動します。
  3. falsy_values.py という名前の新しいファイルを作成します。

では、このファイルにいくつかの Python コードを追加しましょう。

## falsy_values.py

falsy_values = [False, None, 0, 0.0, '', [], {}, ()]

for value in falsy_values:
    if value:
        print(f"{value} is truthy")
    else:
        print(f"{value} is falsy")

このスクリプトは、一般的な偽値のリストを反復処理し、if 文を使用してそれらのブール値をチェックします。

スクリプトを実行するには、WebIDE でターミナルを開きます(ターミナルが表示されない場合は、「Terminal」 -> 「New Terminal」をクリックします)。次に、以下のコマンドを実行します。

python falsy_values.py

以下の出力が表示されるはずです。

False is falsy
None is falsy
0 is falsy
0.0 is falsy
 is falsy
[] is falsy
{} is falsy
() is falsy

この出力は、リスト内のすべての値が Python で実際に偽値と見なされることを確認しています。

not 演算子を使用する

Python では、not 演算子は論理演算子で、オペランドのブール値を反転させます。オペランドが False の場合は True を返し、オペランドが True の場合は False を返します。これは、値が偽値(falsy)であるかどうかをチェックする際に特に便利です。

前のステップの falsy_values.py スクリプトを修正して、not 演算子を使用しましょう。

  1. WebIDE で falsy_values.py ファイルを開きます。

  2. スクリプトを修正して not 演算子を含めます。

## falsy_values.py

falsy_values = [False, None, 0, 0.0, '', [], {}, ()]

for value in falsy_values:
    if not value:
        print(f"{value} is falsy")
    else:
        print(f"{value} is truthy")

この修正されたスクリプトでは、if not value: の条件で値が偽値であるかどうかをチェックします。value が偽値の場合、not valueTrue と評価され、if ブロック内のコードが実行されます。それ以外の場合、つまり value が真値(truthy)の場合、not valueFalse と評価され、else ブロック内のコードが実行されます。

スクリプトを実行するには、WebIDE でターミナルを開きます(ターミナルが表示されない場合は、「Terminal」 -> 「New Terminal」をクリックします)。次に、以下のコマンドを実行します。

python falsy_values.py

以下の出力が表示されるはずです。

False is falsy
None is falsy
0 is falsy
0.0 is falsy
 is falsy
[] is falsy
{} is falsy
() is falsy

出力は前のステップと同じですが、今回は not 演算子を使用して明示的に偽値をチェックしています。これにより、コードがより読みやすく、理解しやすくなります。

bool() 関数でテストする

Python では、bool() 関数は値をブール型(True または False)に変換するために使用されます。bool() に値を渡すと、その値が偽値(falsy)の場合は False を返し、真値(truthy)の場合は True を返します。この関数は、任意のオブジェクトのブール値を直接判断する方法を提供します。

前のステップの falsy_values.py スクリプトを修正して、bool() 関数を使用しましょう。

  1. WebIDE で falsy_values.py ファイルを開きます。

  2. スクリプトを修正して bool() 関数を使用します。

## falsy_values.py

falsy_values = [False, None, 0, 0.0, '', [], {}, ()]

for value in falsy_values:
    boolean_value = bool(value)
    print(f"bool({value}) is {boolean_value}")

この修正されたスクリプトでは、bool(value) 関数が falsy_values リスト内の各値をそれに相当するブール値に変換します。その結果は boolean_value 変数に格納され、コンソールに出力されます。

スクリプトを実行するには、WebIDE でターミナルを開きます(ターミナルが表示されない場合は、「Terminal」 -> 「New Terminal」をクリックします)。次に、以下のコマンドを実行します。

python falsy_values.py

以下の出力が表示されるはずです。

bool(False) is False
bool(None) is False
bool(0) is False
bool(0.0) is False
bool() is False
bool([]) is False
bool({}) is False
bool(()) is False

この出力は、bool() 関数が各偽値を False と評価する方法を示しています。

まとめ

この実験では、最初のステップで Python の一般的な偽値(falsy values)を特定することに焦点を当てています。これらの偽値には、FalseNone00.0''[]{}() が含まれます。Python スクリプトを作成して、これらの値を含むリストを反復処理し、if 文を使用して、ブールコンテキストでこれらの値がそれぞれ False と評価されることを示します。スクリプトの出力は、これらの値が偽値であることを確認します。

次に、この実験では not 演算子が導入されます。この演算子は、オペランドのブール値を反転させます。この演算子は、値のブール表現を反転させることで、その値が偽値であるかどうかを明示的にチェックするのに便利です。