Python で値が真 (truthy) かどうかを確認する方法

PythonPythonBeginner
今すぐ練習

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

はじめに

この実験では、Python で値が真 (truthy) であるかどうかをチェックする方法を学びます。真 (truthy) と偽 (falsy) の値を理解することは、条件文や論理演算を扱う上で不可欠です。

FalseNone0''[]{}() などの一般的な偽 (falsy) の値を探索し、このリストに含まれない任意の値は一般的に真 (truthy) と見なされることを学びます。Python スクリプトを作成して、bool() 関数を使用してさまざまなデータ型をブール値に変換し、結果を観察することで、Python の真 (truthy) と偽 (falsy) の値に対する理解を深めます。


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/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/variables_data_types -.-> lab-559596{{"Python で値が真 (truthy) かどうかを確認する方法"}} python/booleans -.-> lab-559596{{"Python で値が真 (truthy) かどうかを確認する方法"}} python/type_conversion -.-> lab-559596{{"Python で値が真 (truthy) かどうかを確認する方法"}} python/conditional_statements -.-> lab-559596{{"Python で値が真 (truthy) かどうかを確認する方法"}} python/build_in_functions -.-> lab-559596{{"Python で値が真 (truthy) かどうかを確認する方法"}} end

真 (Truthy) と偽 (Falsy) の定義

このステップでは、Python の「真 (truthy)」と「偽 (falsy)」の値について学びます。これらの概念を理解することは、条件文や論理演算を扱う上で重要です。

Python では、すべての値は True または False として評価できます。True と評価される値は「真 (truthy)」と見なされ、False と評価される値は「偽 (falsy)」と見なされます。

まずは、一般的な偽 (falsy) の値をいくつか見てみましょう。

  • False
  • None
  • 0 (整数)
  • 0.0 (浮動小数点数)
  • '' (空文字列)
  • [] (空リスト)
  • {} (空辞書)
  • () (空タプル)

上記のリストに含まれない任意の値は、一般的に真 (truthy) と見なされます。これには以下が含まれます。

  • True
  • ゼロ以外の任意の数値
  • 空でない任意の文字列
  • 少なくとも 1 つの要素を持つ任意のリスト、辞書、またはタプル

これを実証するために、Python スクリプトを作成し、bool() 関数を使用してさまざまなデータ型のブール値をチェックします。

  1. LabEx 環境で VS Code エディタを開きます。

  2. ~/project ディレクトリに truthy_falsy.py という名前の新しいファイルを作成します。

    touch ~/project/truthy_falsy.py
  3. エディタで truthy_falsy.py ファイルを開き、以下のコードを追加します。

    ## Falsy values
    print(bool(False))
    print(bool(None))
    print(bool(0))
    print(bool(0.0))
    print(bool(''))
    print(bool([]))
    print(bool({}))
    print(bool(()))
    
    ## Truthy values
    print(bool(True))
    print(bool(1))
    print(bool(-1))
    print(bool('Hello'))
    print(bool([1, 2, 3]))
    print(bool({'a': 1}))
    print(bool((1, 2)))

    このスクリプトでは、bool() 関数を使用してさまざまな値を明示的にブール値に変換し、結果を出力します。

  4. python コマンドを使用してスクリプトを実行します。

    python ~/project/truthy_falsy.py

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

    False
    False
    False
    False
    False
    False
    False
    False
    True
    True
    True
    True
    True
    True
    True

    この出力は、偽 (falsy) の値が False と評価され、真 (truthy) の値が True と評価されることを確認しています。

if 文を使ったテスト

このステップでは、Python の if 文を使って真 (truthy) と偽 (falsy) の値をテストする方法を学びます。if 文を使うと、条件が真か偽かに応じて異なるコードブロックを実行できます。

if 文の基本的な構文は次の通りです。

if condition:
    ## Code to execute if the condition is true
else:
    ## Code to execute if the condition is false

conditionTrue または False として評価される式です。条件が True の場合、if ブロック内のコードが実行されます。それ以外の場合、else ブロック内のコードが実行されます。else ブロックは省略可能です。

では、真 (truthy) と偽 (falsy) の値を使った if 文の使い方を実証する Python スクリプトを作成しましょう。

  1. LabEx 環境で VS Code エディタを開きます。

  2. ~/project ディレクトリに if_statement.py という名前の新しいファイルを作成します。

    touch ~/project/if_statement.py
  3. エディタで if_statement.py ファイルを開き、以下のコードを追加します。

    ## Test with a truthy value
    x = 10
    if x:
        print("x is truthy")
    else:
        print("x is falsy")
    
    ## Test with a falsy value
    y = 0
    if y:
        print("y is truthy")
    else:
        print("y is falsy")
    
    ## Test with an empty string
    name = ""
    if name:
        print("name is truthy")
    else:
        print("name is falsy")
    
    ## Test with a non-empty string
    greeting = "Hello"
    if greeting:
        print("greeting is truthy")
    else:
        print("greeting is falsy")

    このスクリプトは、if 文を使ってさまざまな変数をテストします。変数が真 (truthy) か偽 (falsy) かをチェックし、対応するメッセージを出力します。

  4. python コマンドを使ってスクリプトを実行します。

    python ~/project/if_statement.py

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

    x is truthy
    y is falsy
    name is falsy
    greeting is truthy

    この出力は、if 文を使って真 (truthy) と偽 (falsy) の値をテストできることを実証しています。

bool() でブール値に変換する

このステップでは、bool() 関数を使用して値を明示的にブール値に変換する方法を学びます。条件文や論理演算で値を True または False として扱う必要がある場合に便利です。

bool() 関数は 1 つの引数を取り、そのブール値相当を返します。前のステップで学んだように、特定の値は本質的に真 (truthy) または偽 (falsy) です。bool() 関数を使用すると、任意の式のブール値を明示的に判断できます。

bool() 関数の使い方を実証する Python スクリプトを作成しましょう。

  1. LabEx 環境で VS Code エディタを開きます。

  2. ~/project ディレクトリに convert_to_boolean.py という名前の新しいファイルを作成します。

    touch ~/project/convert_to_boolean.py
  3. エディタで convert_to_boolean.py ファイルを開き、以下のコードを追加します。

    ## Convert an integer to boolean
    x = 42
    x_bool = bool(x)
    print(f"The boolean value of {x} is {x_bool}")
    
    ## Convert a string to boolean
    message = "Hello, world!"
    message_bool = bool(message)
    print(f"The boolean value of '{message}' is {message_bool}")
    
    ## Convert an empty list to boolean
    my_list = []
    list_bool = bool(my_list)
    print(f"The boolean value of {my_list} is {list_bool}")
    
    ## Convert None to boolean
    none_value = None
    none_bool = bool(none_value)
    print(f"The boolean value of {none_value} is {none_bool}")

    このスクリプトは、bool() 関数を使用してさまざまな型の値をブール値に変換し、結果を出力します。

  4. python コマンドを使用してスクリプトを実行します。

    python ~/project/convert_to_boolean.py

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

    The boolean value of 42 is True
    The boolean value of 'Hello, world!' is True
    The boolean value of [] is False
    The boolean value of None is False

    この出力は、bool() 関数がさまざまな値をそれらのブール値相当に変換する方法を実証しています。

まとめ

この実験では、Python の真 (truthy) と偽 (falsy) の値について学びました。これらは条件文において基本的な概念です。FalseNone00.0''[]{}() などの一般的な偽 (falsy) の値を調べ、このリストに含まれない値は一般的に真 (truthy) と見なされることを理解しました。

次に、truthy_falsy.py という名前の Python スクリプトを作成し、bool() 関数を使用してさまざまな値を明示的にブール値相当に変換し、結果を出力することでこれを実証しました。これにより、Python がブールコンテキストでさまざまなデータ型を評価する方法についての理解が深まりました。