Во время работы над проектом Python мне нужно было проверить, содержит ли переменная значение None или не нулевое значение, прежде чем использовать ее. Итак, я нашел 4 разных решения, чтобы проверить, содержит ли var None в Python.

Давайте разберем ситуацию на одном практическом примере:

name = "Peter" 
age = None
email = "[email protected]"

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

Age contains None Value

Давайте разберемся со всеми подходами к проверке того, равна ли переменная None в Python.

Содержание

Используя оператор is

Во-первых, мы будем использовать оператор «is» с None, который в Python известен как оператор идентификации. Этот оператор проверяет равенство двух значений.

Итак, мы будем использовать этот оператор, чтобы проверить, содержит ли переменная значение или нет.

Синтаксис:

if "value" is None:
  • если «значение» равно None: мы проверим, равно ли значение None или нет, используя этот синтаксис в Python.
name = "John"
age = None
email = "[email protected]"

if name is None:
    print("Name is required")

elif age is None:
    print("Age is Required")

elif email is None:
    print("Email is Required")

Используя оператор is

В приведенном выше коде у нас есть данные клиента, где имя и адрес электронной почты имеют значение, но возраст имеет значение None, например: age = None, поэтому нам нужно передать клиенту сообщение о том, что имя поля является обязательным.

Здесь мы используем оператор «is», чтобы проверить равенство пользовательского ввода и значения None, например: elif age имеет значение None. Если какое-либо из условий истинно, что означает, что любое из этих полей содержит значение «Нет», то будет возвращено данное сообщение.

С использованием оператора ==

Мы также можем использовать оператор «==», который является частью оператора сравнения в Python.

Этот оператор сравнивает два значения и возвращает True или False в зависимости от их равенства.

Итак, мы будем использовать оператор ==, чтобы проверить, содержит ли переменная значение None или нет.

Синтаксис:

if var_name == None
  • if var_name == None: здесь мы сравниваем входное значение с None. Если переменная равна none, то будет выведено значение True.
name = "John"
age = None
email = "[email protected]"

if name == None:
    print("Name is required")
elif age == None:
    print("Age is Required")
elif email == None:
    print("Email is Required")

С использованием оператора ==

В приведенном выше коде мы используем тот же пример, но с другим подходом. Здесь мы используем оператор сравнения == для сравнения пользовательских данных со значением None; если он возвращает True, распечатайте предупреждающее сообщение о том, что это поле является обязательным.

В результате, если вы не указываете значение возраста, отображается сообщение «Возраст обязателен».

Используя оператор not

Мы также можем использовать оператор Not, чтобы проверить, содержит ли переменная значение None. Оператор Not обращает результат условия. Предположим, что результат — True; тогда в Python оператор Not вернет False.

Синтаксис:

if not var_name:
  • если не var_name: здесь, если var_name равно None, он вернет True и перейдет в блок операторов.
name = "John"
age = 45
email = None

if not name :
    print("Name is required")
elif not age :
    print("Age is Required")
elif not email :
    print("Email is Required")

Используя оператор not

В приведенном выше коде у нас есть пользовательские данные со статическими значениями, но адрес электронной почты отсутствует, поэтому нам нужно дать сообщение о том, что требуется адрес электронной почты. Здесь мы используем ключевое слово, потому что когда вы указываете адрес электронной почты: это означает, что оно проверит, есть ли данные или нет, и вернет True.

Но мы используем not с условием if следующим образом: elif not email, поэтому, если данных нет, он вернет True и выполнит этот блок операторов.

Использование метода isinstance()

Здесь мы будем использовать метод isinstance(), который является встроенной функцией Python. Этот метод возвращает логическое значение (True или False) на основе заданных параметров. Первый параметр принимает объект, например число, список, строку и т. д., а второй параметр будет типом данных.

Если тип данного объекта в первом и втором параметрах совпадает, то он вернет True.

Синтаксис:

isinstance(object, type(None))
  • isinstance (object, type(None)): этот синтаксис вернет True или False в зависимости от значения None или нет.
flight_A = "On time"
flight_B = None
flight_C = "Delay"

if isinstance(flight_A, type(None)):
    print("Status for Flight A not updated.")
elif isinstance(flight_B, type(None)):
    print("Status for Flight B not updated.")
elif isinstance(flight_C, type(None)):
    print("Status for Flight C not updated.")
else:
    print("Every flight is updated")

Использование метода isinstance()

В приведенном выше коде у нас есть обновления по рейсам, но некоторые данные о рейсах не обновляются, поэтому нам нужно передать команде сообщение о том, что статус этого рейса не обновлен.

Итак, здесь мы используем метод isinstance(), который выглядит следующим образом: elif isinstance(flight_B, type(None)). Здесь условие возвращает значение True, поскольку рейс B имеет значение None.

Добавить комментарий