Встроенные константы

Небольшое количество констант живет во встроенном пространстве имен. К ним относятся:

False

Ложное значение типа bool. Присваивание False является незаконным и вызывает ошибку SyntaxError.

True

Истинное значение типа bool. Присваивание True является незаконным и вызывает ошибку SyntaxError.

None

Объект, часто используемый для обозначения отсутствия значения, например, когда в функцию не передаются аргументы по умолчанию. Присваивание None является незаконным и вызывает ошибку SyntaxError. None является единственным экземпляром типа NoneType.

NotImplemented

Специальное значение, которое должно возвращаться бинарными специальными методами (например, __eq__(), __lt__(), __add__(), __rsub__() и т. д.), чтобы указать, что операция не реализована по отношению к другому типу; может возвращаться бинарными специальными методами in-place (например, __imul__(), __iand__() и т. д.) с той же целью. Его не следует оценивать в булевом контексте. NotImplemented является единственным экземпляром типа types.NotImplementedType.

Примечание

Если бинарный (или in-place) метод возвращает NotImplemented, интерпретатор попробует выполнить отраженную операцию над другим типом (или какой-либо другой запасной вариант, в зависимости от оператора). Если все попытки вернут NotImplemented, интерпретатор вызовет соответствующее исключение. Неправильный возврат NotImplemented приведет к появлению недостоверного сообщения об ошибке или возврату значения NotImplemented в код Python.

Примеры см. в разделе Реализация арифметических операций.

Примечание

NotImplementedError и NotImplemented не являются взаимозаменяемыми, хотя имеют схожие названия и назначение. См. раздел NotImplementedError для получения подробной информации о том, когда его следует использовать.

Изменено в версии 3.9: Оценка NotImplemented в булевом контексте была устаревшей.

Изменено в версии 3.14: Оценка NotImplemented в булевом контексте теперь выводит TypeError. Ранее, начиная с Python 3.9, она оценивалась в True и выдавала DeprecationWarning.

Ellipsis

То же, что и литерал многоточия «...». Специальное значение, используемое в основном в сочетании с расширенным синтаксисом нарезки для пользовательских контейнерных типов данных. Ellipsis является единственным экземпляром типа types.EllipsisType.

__debug__

Эта константа истинна, если Python не был запущен с опцией -O. См. также утверждение assert.

Примечание

Имена None, False, True и __debug__ не могут быть переназначены (назначение их даже в качестве имени атрибута приводит к появлению SyntaxError), поэтому их можно считать «истинными» константами.

Константы, добавленные модулем site

Модуль site (который импортируется автоматически при запуске, за исключением случаев, когда задана опция командной строки -S) добавляет несколько констант во встроенное пространство имен. Они полезны для интерактивной оболочки интерпретатора и не должны использоваться в программах.

quit(code=None)
exit(code=None)

Объекты, которые при печати выводят сообщение типа «Use quit() or Ctrl-D (i.e. EOF) to exit», а при вызове поднимают SystemExit с указанным кодом выхода.

credits

Объекты, которые при печати или вызове выводят текст копирайта или титров, соответственно.

license

Объект, который при печати выводит сообщение «Введите license(), чтобы увидеть полный текст лицензии», а при вызове отображает полный текст лицензии в виде пейджера (по одному экрану за раз).