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

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

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

Введение

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

В этом лабораторном занятии (LabEx) вы узнаете о распространенных ложных значениях, таких как False, None, 0, 0.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{{"Как проверить, является ли значение ложным (falsy) в Python"}} python/conditional_statements -.-> lab-559593{{"Как проверить, является ли значение ложным (falsy) в Python"}} python/build_in_functions -.-> lab-559593{{"Как проверить, является ли значение ложным (falsy) в Python"}} python/data_collections -.-> lab-559593{{"Как проверить, является ли значение ложным (falsy) в Python"}} end

Список распространенных ложных значений (falsy values)

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

Следующие значения обычно считаются ложными (falsy) в Python:

  • False: Булево значение False само по себе.
  • None: Представляет отсутствие значения или нулевое значение.
  • 0: Целое число ноль.
  • 0.0: Вещественное число ноль.
  • '': Пустая строка.
  • []: Пустой список.
  • {}: Пустой словарь.
  • (): Пустой кортеж.

Создадим скрипт на Python для исследования этих ложных значений (falsy values).

  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")

Этот скрипт проходит по списку распространенных ложных значений (falsy values) и проверяет их булевое значение с использованием оператора 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

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

Использование оператора not

В Python оператор not является логическим оператором, который инвертирует булевое значение своего операнда. Он возвращает True, если операнд равен False, и False, если операнд равен True. Это особенно полезно, когда вы хотите проверить, является ли значение ложным (falsy).

Давайте изменим скрипт falsy_values.py из предыдущего шага, чтобы использовать оператор not.

  1. Откройте файл falsy_values.py в WebIDE.

  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: проверяет, является ли значение ложным (falsy). Если value является ложным (falsy), то not value оценивается как True, и код внутри блока if выполняется. В противном случае, если value является истинным (truthy), то not value оценивается как False, и код внутри блока 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 для явной проверки на ложные значения (falsy values). Это может сделать ваш код более читаемым и легким для понимания.

Тестирование с использованием функции bool()

В Python функция bool() используется для преобразования значения в булево значение (True или False). Когда вы передаете значение в bool(), она возвращает False, если значение является ложным (falsy), и True, если значение является истинным (truthy). Эта функция предоставляет прямой способ определить булево значение любого объекта.

Давайте изменим скрипт falsy_values.py из предыдущих шагов, чтобы использовать функцию bool().

  1. Откройте файл falsy_values.py в WebIDE.

  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() оценивает каждое из ложных значений (falsy values) как False.

Резюме

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

Затем в лабораторном занятии вводится оператор not, который инвертирует булевое значение своего операнда. Этот оператор полезен для явной проверки, является ли значение ложным (falsy), путем инвертирования его булева представления.