Что такое 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 это правильнее и безопаснее, чем ==.

Начать игру бесплатно