Что такое None и зачем он нужен
None — это специальное значение «ничего»: отсутствие результата, пустое место, ещё не заданное значение.
Значение «ничего»
None — особое значение в Python, которое означает «здесь пока ничего нет». Это не ноль и не пустая строка, а именно отсутствие значения. Его удобно использовать как стартовое состояние переменной.
result = None
# ... позже
result = 42
Функция без return
Если функция ничего не возвращает явно, она возвращает None. Поэтому попытка сохранить результат такой функции даст None — частый сюрприз для новичка.
def greet():
print('привет')
x = greet()
print(x) # None
Как проверять на None
Проверяют на None через is, а не через ==: if x is None. Это надёжнее и считается хорошим стилем. None часто означает «данных ещё нет» — и по этой проверке решают, что делать дальше.
Частые вопросы
None и 0 — это одно и то же? Нет: 0 — это число, None — отсутствие значения.
Почему проверяют через is None? is сравнивает идентичность объекта — для None это правильнее и безопаснее, чем ==.
Начать игру бесплатно