В чем разница между NaN и None в Python?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

NaN (Not a Number) — это специальное значение с плавающей точкой, определённое в стандарте IEEE 754, которое обозначает «нечисловое» значение. В Python NaN обычно встречается в библиотеках для работы с данными, например, в NumPy или pandas, и используется для обозначения отсутствующих или недопустимых числовых данных.

Ключевые отличия:

  • None — это объект Python, не связанный с числовыми типами.
  • NaN — числовое значение с плавающей точкой, которое ведёт себя особым образом при сравнениях (например, NaN != NaN).

Пример:

import math

x = None
print(x is None)  # True

y = float('nan')
print(math.isnan(y))  # True
print(y == y)  # False, NaN не равен самому себе

В контексте обработки данных None часто используется для обозначения отсутствия значения в объектах Python, а NaN — для отсутствующих числовых данных в массивах и таблицах.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее