Одной из общих задач при написании кода на 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
