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

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

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 приведет к недостоверному сообщению об ошибке или возвращению в код Python значения NotImplemented.

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

Примечание

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

Изменено в версии 3.9: Вычисление NotImplemented в булевом контексте устарело. Хотя в настоящее время она оценивается как true, она будет выдавать DeprecationWarning. В будущих версиях Python он будет вызывать TypeError.

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

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

Вернуться на верх