Как проверить, является ли значение False в Python

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

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

Введение

В этом практическом занятии (LabEx) вы научитесь проверять, является ли значение False в Python. Практическое занятие начинается с исследования значений False, демонстрирует, как присвоить False переменной, вывести ее значение и тип, а также использовать его в условных операторах. Вы создадите файл false_values.py, присвоите False переменной is_valid и используете оператор if для проверки ее значения.

Затем в практическом занятии объясняется, как напрямую сравнивать с False и отличать его от ложных (falsy) значений.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/booleans -.-> lab-559592{{"Как проверить, является ли значение False в Python"}} python/conditional_statements -.-> lab-559592{{"Как проверить, является ли значение False в Python"}} python/data_collections -.-> lab-559592{{"Как проверить, является ли значение False в Python"}} end

Исследование значений False

На этом этапе вы узнаете о значениях False в Python. Понимание значений False является важным аспектом при написании условных операторов и контроле потока выполнения ваших программ. В Python False представляет собой встроенную константу, которая обозначает булево значение "ложь". Это одно из двух булевых значений, второе - True.

Начнем с создания файла Python с именем false_values.py в каталоге ~/project с использованием редактора VS Code.

~/project/false_values.py

Теперь откройте файл false_values.py в редакторе и добавьте следующий код:

## Assign the boolean value False to a variable
is_valid = False

## Print the value of the variable
print(is_valid)

## Check the type of the variable
print(type(is_valid))

В этом фрагменте кода сначала присваивается булево значение False переменной is_valid. Затем выводится значение переменной и ее тип.

Чтобы запустить скрипт, откройте терминал и выполните следующую команду:

python ~/project/false_values.py

Вы должны увидеть следующий вывод:

False
<class 'bool'>

Этот вывод подтверждает, что переменная is_valid содержит булево значение False и что ее тип - bool.

Теперь давайте рассмотрим, как значения False используются в условных операторах. Измените файл false_values.py, добавив в него следующий код:

is_valid = False

if is_valid == False:
    print("The value is False")
else:
    print("The value is True")

В этом примере мы используем оператор if для проверки, равно ли значение переменной is_valid False. Если это так, выполняется код внутри блока if. В противном случае выполняется код внутри блока else.

Запустите скрипт еще раз:

python ~/project/false_values.py

Вы должны увидеть следующий вывод:

The value is False

Этот вывод демонстрирует, как значения False могут быть использованы для управления потоком выполнения программы в зависимости от определенных условий.

Прямое сравнение с False

На этом этапе вы научитесь напрямую сравнивать значения с False в Python. Прямое сравнение с False иногда может сделать код более читаемым и компактным.

Продолжайте использовать файл false_values.py, который вы создали на предыдущем этапе. Мы изменим его, чтобы продемонстрировать прямое сравнение с False.

Откройте файл false_values.py в редакторе VS Code и измените код следующим образом:

is_valid = False

if is_valid is False:
    print("The value is False")
else:
    print("The value is True")

В этом примере мы используем оператор is для проверки, является ли переменная is_valid идентична False. Оператор is проверяет идентичность объектов, то есть он проверяет, ссылаются ли две переменные на один и тот же объект в памяти. В случае булевых значений is и == часто ведут себя одинаково, но is обычно предпочтительнее для проверки на True и False, так как они являются одиночными объектами (singleton objects).

Запустите скрипт:

python ~/project/false_values.py

Вы должны увидеть следующий вывод:

The value is False

Теперь рассмотрим немного другой сценарий. Измените файл false_values.py, добавив в него следующий код:

is_valid = False

if not is_valid:
    print("The value is False")
else:
    print("The value is True")

В этом примере мы используем оператор not для проверки, является ли is_valid равным False. Оператор not инвертирует булево значение переменной. Это распространенный и компактный способ проверить, является ли переменная равной False.

Запустите скрипт еще раз:

python ~/project/false_values.py

Вы должны увидеть такой же вывод:

The value is False

Оба способа - is False и not is_valid - являются корректными способами проверки на значения False в Python. Выбор между ними часто зависит от личных предпочтений и читаемости кода. Оператор not обычно считается более "питоническим" и легким для чтения.

Различие между False и ложными (falsy) значениями

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

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

  • False (булево значение)
  • None
  • 0 (ноль любого числового типа: int, float и т.д.)
  • "" (пустая строка)
  • [] (пустой список)
  • {} (пустой словарь)
  • () (пустой кортеж)

Давайте изменим файл false_values.py, чтобы исследовать ложные (falsy) значения. Откройте файл false_values.py в редакторе VS Code и добавьте следующий код:

def check_falsy(value):
    if value:
        print(f"{value!r} is truthy")
    else:
        print(f"{value!r} is falsy")

check_falsy(False)
check_falsy(None)
check_falsy(0)
check_falsy("")
check_falsy([])
check_falsy({})
check_falsy(())

Этот код определяет функцию check_falsy, которая принимает значение в качестве входных данных и проверяет, является ли оно истинным (truthy) или ложным (falsy) с использованием оператора if. Затем он вызывает функцию с разными ложными (falsy) значениями. Символ !r в f-строке гарантирует, что выводится представление значения, что полезно для различения между разными типами пустых значений.

Запустите скрипт:

python ~/project/false_values.py

Вы должны увидеть следующий вывод:

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

Этот вывод показывает, что все значения, которые мы передали в функцию check_falsy, считаются ложными (falsy) в Python.

Теперь давайте посмотрим, как это может повлиять на условные операторы. Измените файл false_values.py, добавив в него следующий код:

empty_list = []

if empty_list:
    print("The list is not empty")
else:
    print("The list is empty")

В этом примере мы проверяем, является ли пустой список истинным (truthy) или ложным (falsy). Поскольку пустой список является ложным (falsy), будет выполнен код внутри блока else.

Запустите скрипт:

python ~/project/false_values.py

Вы должны увидеть следующий вывод:

The list is empty

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

Резюме

В этом практическом занятии (лабораторной работе) вы начали с исследования значений False в Python, понимая, что False является встроенной константой, представляющей булево значение "ложь". Вы создали файл false_values.py, присвоили переменной значение False, вывели его значение и тип, тем самым подтвердив, что это булево значение.

Затем вы использовали оператор if для проверки, равно ли значение переменной False, показав, как значения False могут управлять потоком выполнения программы на основе условий. В рамках данной лабораторной работы предполагается дальнейшее исследование прямого сравнения с False и различия между ним и ложными (falsy) значениями.