Как проверить, является ли значение истинным (truthy) в Python

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, является ли значение истинным (truthy) в Python. Понимание истинных (truthy) и ложных (falsy) значений является важным аспектом при работе с условными операторами и логическими операциями.

Вы рассмотрите распространенные ложные (falsy) значения, такие как False, None, 0, '', [], {}, и (), и узнаете, что любое значение, не входящее в этот список, обычно считается истинным (truthy). Вы создадите скрипт на Python, используя функцию bool(), чтобы преобразовать различные типы данных в их булевы эквиваленты и изучить результаты, тем самым закрепив понимание истинных (truthy) и ложных (falsy) значений в Python.


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{{"Как проверить, является ли значение истинным (truthy) в Python"}} python/booleans -.-> lab-559596{{"Как проверить, является ли значение истинным (truthy) в Python"}} python/type_conversion -.-> lab-559596{{"Как проверить, является ли значение истинным (truthy) в Python"}} python/conditional_statements -.-> lab-559596{{"Как проверить, является ли значение истинным (truthy) в Python"}} python/build_in_functions -.-> lab-559596{{"Как проверить, является ли значение истинным (truthy) в Python"}} end

Определение истинных (truthy) и ложных (falsy) значений

На этом этапе вы узнаете о "истинных" (truthy) и "ложных" (falsy) значениях в Python. Понимание этих концепций является важным для работы с условными операторами и логическими операциями.

В Python каждое значение может быть оценено как True или False. Значения, которые оцениваются как True, считаются "истинными" (truthy), в то время как те, которые оцениваются как False, считаются "ложными" (falsy).

Начнем с рассмотрения некоторых распространенных ложных (falsy) значений:

  • False
  • None
  • 0 (целое число)
  • 0.0 (число с плавающей точкой)
  • '' (пустая строка)
  • [] (пустой список)
  • {} (пустой словарь)
  • () (пустой кортеж)

Любое значение, не входящее в вышеуказанный список, обычно считается истинным (truthy). Это включает:

  • True
  • Любое ненулевое число
  • Любую непустую строку
  • Любой список, словарь или кортеж, содержащий хотя бы один элемент

Для демонстрации этого вы создадите скрипт на Python и используете функцию bool() для проверки булевого значения различных типов данных.

  1. Откройте редактор VS Code в среде LabEx.

  2. Создайте новый файл с именем truthy_falsy.py в директории ~/project.

    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 для проверки

На этом этапе вы научитесь использовать операторы if в Python для проверки истинных (truthy) и ложных (falsy) значений. Операторы if позволяют выполнять разные блоки кода в зависимости от того, истинно или ложно условие.

Базовый синтаксис оператора if выглядит следующим образом:

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

condition - это выражение, которое оценивается как True или False. Если условие истинно (True), то выполняется код внутри блока if. В противном случае выполняется код внутри блока else. Блок else является необязательным.

Теперь создадим скрипт на Python, чтобы показать, как использовать операторы if с истинными (truthy) и ложными (falsy) значениями.

  1. Откройте редактор VS Code в среде LabEx.

  2. Создайте новый файл с именем if_statement.py в директории ~/project.

    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() принимает один аргумент и возвращает его булево эквивалент. Как вы узнали на предыдущих этапах, некоторые значения по своей природе являются истинными (truthy) или ложными (falsy). Функция bool() позволяет явно определить булево значение любого выражения.

Создадим скрипт на Python, чтобы показать, как использовать функцию bool().

  1. Откройте редактор VS Code в среде LabEx.

  2. Создайте новый файл с именем convert_to_boolean.py в директории ~/project.

    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() преобразует разные значения в их булевы эквиваленты.

Резюме

В этом практическом занятии вы узнали о истинных (truthy) и ложных (falsy) значениях в Python, которые являются фундаментальными для условных операторов. Вы изучили распространенные ложные значения, такие как False, None, 0, 0.0, '', [], {}, и (), и поняли, что любое значение, не входящее в этот список, обычно считается истинным.

Затем вы создали скрипт на Python с именем truthy_falsy.py, чтобы продемонстрировать это, используя функцию bool() для явного преобразования различных значений в их булевы эквиваленты и вывода результатов. Это укрепило ваше понимание того, как Python оценивает разные типы данных в булевом контексте.