Проверка переменной на None в Python

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

Рассмотрим три самых распространенных способа проверки значения на None:

Представьте, что у вас есть коробка, и вы хотите проверить, пуста ли она или нет.

Вариант 1: if val != None:

Аналогия: Вы открываете коробку и смотрите, пуста ли она. Если внутри что-то есть, вы говорите: "Коробка не пустая".

val = None
if val != None:
    print("Коробка не пустая")
else:
    print("Коробка пустая")

Объяснение: Здесь вы просто проверяете, не равно ли содержимое коробки (переменная val) значению None.

Вариант 2: if not (val is None):

Аналогия: Вы открываете коробку и говорите: "Если внутри нет ничего, то коробка не пустая".

val = None
if not (val is None):
    print("Коробка не пустая")
else:
    print("Коробка пустая")

Объяснение: Здесь вы сначала проверяете, является ли содержимое коробки (переменная val) объектом None, а затем инвертируете это утверждение с помощью not.

Вариант 3: if val is not None:

Аналогия: Вы открываете коробку и говорите: "Если внутри что-то есть, то коробка не пустая".

val = None
if val is not None:
    print("Коробка не пустая")
else:
    print("Коробка пустая")

Объяснение: Здесь вы напрямую проверяете, что содержимое коробки (переменная val) не является объектом None.

Почему if val is not None: лучше?

Читаемость: Этот способ проще читать и понимать. Вы сразу видите, что проверяется наличие объекта None.
Точность: Оператор is проверяет идентичность объекта, а не равенство значений. Это важно, потому что None — это уникальный объект в Python.
Рекомендации: Этот способ рекомендован в официальной документации Python (PEP 8).

Ссылки на официальную документацию
PEP 8: Style Guide for Python Code — Руководство по стилю кода Python, где рекомендуется использовать is not для проверки на None.
Python Documentation: Comparisons — Официальная документация по сравнениям в Python, включая использование оператора is.

Заключение

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


Как можно отблагодарить:

  • Оформить удобную для вас подписку на Boosty.to
  • Разово поддержать через DonationAlerts
12310login-checkПроверка переменной на None в Python

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