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

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

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

Введение

В этом лабораторном занятии (LabEx) вы научитесь проверять, не является ли переменная значением None в Python. None представляет собой отсутствие значения, и понимание того, как работать с ним, является важным аспектом написания надежного кода.

В этом лабораторном занятии (LabEx) вы исследуете не-None значения, создав скрипт на Python. Вы присвоите переменной значение None, а затем проверите ее значение с помощью оператора if. Затем вы присвоите той же переменной не-None значение (строку) и снова проверите ее значение, наблюдая за изменением вывода. Наконец, вы измените скрипт, чтобы исследовать различные не-None значения.


Skills Graph

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

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

На этом этапе вы узнаете о значении None в Python и как определять значения, которые не являются None. None - это специальное значение в Python, которое представляет отсутствие значения или нулевое значение. Оно часто используется для указания того, что переменной не было присвоено значение или что функция не возвращает значение.

Понимание того, как работать с None, является важным аспектом написания надежного и безошибочного кода на Python. Давайте начнем с создания скрипта на Python для исследования не-None значений.

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

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

  3. Добавьте следующий код в файл explore_none.py:

## Assign None to a variable
my_variable = None

## Check if the variable is None
if my_variable is None:
    print("The variable is None")
else:
    print("The variable is not None")

## Assign a non-None value to the variable
my_variable = "Hello, LabEx!"

## Check again if the variable is None
if my_variable is None:
    print("The variable is None")
else:
    print("The variable is not None")

В этом скрипте сначала переменной my_variable присваивается значение None. Затем с помощью оператора if проверяется, является ли my_variable значением None. Если это так, выводится сообщение "The variable is None". В противном случае выводится сообщение "The variable is not None".

Затем скрипту присваивается строка "Hello, LabEx!" переменной my_variable. Затем снова проверяется, является ли my_variable значением None. На этот раз будет выведено сообщение "The variable is not None".

  1. Сохраните файл explore_none.py.

  2. Запустите скрипт, используя следующую команду в терминале:

python explore_none.py

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

The variable is None
The variable is not None

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

Теперь давайте изменим скрипт, чтобы исследовать различные не-None значения.

  1. Откройте файл explore_none.py в VS Code.

  2. Измените скрипт, добавив следующее:

## Assign None to a variable
my_variable = None

## Check if the variable is None
if my_variable is None:
    print("The variable is None")
else:
    print("The variable is not None")

## Assign an integer value to the variable
my_variable = 42

## Check again if the variable is None
if my_variable is None:
    print("The variable is None")
else:
    print("The variable is not None")

## Assign a boolean value to the variable
my_variable = True

## Check again if the variable is None
if my_variable is None:
    print("The variable is None")
else:
    print("The variable is not None")

В этом измененном скрипте мы присваиваем переменной my_variable целочисленное значение (42) и булево значение (True). Каждый раз мы проверяем, является ли my_variable значением None. Вывод показывает, что my_variable не является None после каждой операции присваивания.

  1. Сохраните файл explore_none.py.

  2. Запустите скрипт снова, используя ту же команду:

python explore_none.py

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

The variable is None
The variable is not None
The variable is not None

Это упражнение показывает, что None - это конкретное значение, и любое другое значение, включая целые числа, строки и булевы значения, считается не-None значением. Понимание этого различия является важным аспектом написания условных операторов и обработки различных типов данных в Python.

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

На предыдущем этапе вы узнали, как проверить, является ли переменная значением None с помощью оператора is. На этом этапе вы научитесь использовать оператор is not для проверки, не является ли переменная значением None. Оператор is not является логическим противоположением оператора is.

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

  1. Откройте файл explore_none.py в VS Code.

  2. Измените скрипт, чтобы использовать оператор is not следующим образом:

## Assign None to a variable
my_variable = None

## Check if the variable is not None
if my_variable is not None:
    print("The variable is not None")
else:
    print("The variable is None")

## Assign a non-None value to the variable
my_variable = "Hello, LabEx!"

## Check again if the variable is not None
if my_variable is not None:
    print("The variable is not None")
else:
    print("The variable is None")

В этом измененном скрипте операторы if теперь используют оператор is not для проверки, не является ли my_variable значением None. Логика обратна: если my_variable не является None, выводится сообщение "The variable is not None"; в противном случае выводится сообщение "The variable is None".

  1. Сохраните файл explore_none.py.

  2. Запустите скрипт, используя следующую команду в терминале:

python explore_none.py

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

The variable is None
The variable is not None

Вывод такой же, как и на предыдущем этапе, но логика, используемая для его получения, отличается. Оператор is not предоставляет более прямой способ проверки на не-None значения.

Теперь давайте добавим в скрипт больше примеров, чтобы закрепить ваше понимание оператора is not.

  1. Откройте файл explore_none.py в VS Code.

  2. Измените скрипт, добавив следующее:

## Assign None to a variable
my_variable = None

## Check if the variable is not None
if my_variable is not None:
    print("The variable is not None")
else:
    print("The variable is None")

## Assign an integer value to the variable
my_variable = 42

## Check again if the variable is not None
if my_variable is not None:
    print("The variable is not None")
else:
    print("The variable is None")

## Assign a boolean value to the variable
my_variable = True

## Check again if the variable is not None
if my_variable is not None:
    print("The variable is not None")
else:
    print("The variable is None")

Теперь этот скрипт включает проверки для целого числа и булевого значения с использованием оператора is not.

  1. Сохраните файл explore_none.py.

  2. Запустите скрипт снова, используя ту же команду:

python explore_none.py

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

The variable is None
The variable is not None
The variable is not None

Это упражнение укрепляет концепцию, что оператор is not используется для проверки, не имеет ли переменная значение None. Это полезный инструмент для написания лаконичного и читаемого кода при работе с потенциально отсутствующими или неинициализированными значениями.

Комбинирование с простыми условиями

На этом этапе вы научитесь комбинировать оператор is not с другими простыми условиями, используя логические операторы, такие как and и or. Это позволяет создавать более сложные условные операторы, которые проверяют несколько условий одновременно.

Начнем с изменения скрипта explore_none.py, чтобы включить дополнительные условия.

  1. Откройте файл explore_none.py в VS Code.

  2. Измените скрипт, добавив следующее:

## Assign None to a variable
my_variable = None
my_number = 10

## Check if the variable is not None and the number is greater than 5
if my_variable is not None and my_number > 5:
    print("The variable is not None and the number is greater than 5")
else:
    print("One or both conditions are not met")

## Assign a non-None value to the variable
my_variable = "Hello, LabEx!"

## Check again if the variable is not None and the number is greater than 5
if my_variable is not None and my_number > 5:
    print("The variable is not None and the number is greater than 5")
else:
    print("One or both conditions are not met")

В этом скрипте мы ввели новую переменную my_number и установили ее значение равным 10. Теперь операторы if проверяют два условия: является ли my_variable не None и больше ли my_number 5. Оператор and гарантирует, что оба условия должны быть истинными, чтобы выполнился блок if.

  1. Сохраните файл explore_none.py.

  2. Запустите скрипт, используя следующую команду в терминале:

python explore_none.py

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

One or both conditions are not met
The variable is not None and the number is greater than 5

Первый оператор if не выполняется, потому что my_variable равно None. Второй оператор if выполняется, потому что my_variable не равно None и my_number больше 5.

Теперь давайте рассмотрим оператор or.

  1. Откройте файл explore_none.py в VS Code.

  2. Измените скрипт, используя оператор or следующим образом:

## Assign None to a variable
my_variable = None
my_number = 10

## Check if the variable is not None or the number is greater than 5
if my_variable is not None or my_number > 5:
    print("At least one condition is met")
else:
    print("Neither condition is met")

## Assign a non-None value to the variable
my_variable = "Hello, LabEx!"

## Check again if the variable is not None or the number is greater than 5
if my_variable is not None or my_number > 5:
    print("At least one condition is met")
else:
    print("Neither condition is met")

В этом измененном скрипте операторы if теперь используют оператор or. Это означает, что блок if будет выполнен, если хотя бы одно из условий истинно.

  1. Сохраните файл explore_none.py.

  2. Запустите скрипт снова, используя ту же команду:

python explore_none.py

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

At least one condition is met
At least one condition is met

Первый оператор if выполняется, потому что my_number больше 5, даже если my_variable равно None. Второй оператор if также выполняется, потому что оба условия истинны.

Это упражнение демонстрирует, как комбинировать оператор is not с другими простыми условиями, используя логические операторы. Это позволяет создавать более сложные и гибкие условные операторы в вашем коде на Python.

Резюме

В этом практическом занятии (лабораторной работе) первоначальный этап посвящен пониманию значения None в Python и способу определения не-None значений. Создается Python-скрипт с именем explore_none.py для демонстрации этого. В скрипте переменной присваивается значение None, и с использованием оператора is в операторе if проверяется, является ли переменная значением None, после чего выводится соответствующее сообщение. Затем переменной присваивается строковое значение, и выполняется та же проверка, что иллюстрирует, как значение переменной влияет на вывод.

Затем скрипт запускается, и вывод подтверждает ожидаемое поведение: сначала выводится "The variable is None", а затем "The variable is not None". Это демонстрирует фундаментальную концепцию проверки на значения None и то, как значение переменной может изменяться в процессе выполнения программы. Затем в рамках практического занятия скрипт модифицируется для дальнейшего исследования не-None значений.