NULL
NULL (он же None, он же null) — особо значенне в некоторых системах программирование, обозначающее «полное отсутствие значения».
Описание[править]
В большинстве случаев эквивалентно обычному нулю, иногда с приведением типа для уверенности.
Дело том, что в кодинговых задачах полагается, что нулевым является только значение, равное 0. Любое иное, в том числе отрицательное, считается тем не менее ненулевым. Похожая логика применяется и при проверке выражения на true и фалсе, где фалсе считается только выражение, равное нулю, а если значение положительное, то это труе.
Чтобы сделать это всё однозначным, выделяются специальные названия типа NULL и false, которые выглядят более понятно, чем просто 0.
Является ли NULL/None/null обязательно нулём? Нет. Но, опять же, тут в зависимости от языка. Например С/С++ это языки со слабой типизацией и там NULL является указателем со значением 0 (размер указателя уже зависит от архитектуры камня). А вот какой-нибудь Петон или C-хештег уже более категоричен в этом вопросе и попытка умножить число на None/null или сравнить его с false/труе приведет к недопониманию.
К слову, в PHP поведение довольно потешное и даже смешное — формально фалсе это пустая строка, однако она также считается эквивалентной нулю (так как числовое значение строки — это её длина). В SQL также NULL соответствует пустой строке и выводится для удобства.