Перейти к содержимому

Built-in ConstantsВстроенные константы

Небольшое количество констант находится во встроенном пространстве имён. Это:

False

Ложное значение типа bool. Присваивания False недопустимы и вызывают SyntaxError.

True

Истинное значение типа bool. Присваивания True недопустимы и вызывают SyntaxError.

None

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

NotImplemented

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

Примечание

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

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

Предостережение

NotImplemented и NotImplementedError не являются взаимозаменяемыми. Эту константу следует использовать только так, как описано выше; см. NotImplementedError для подробностей о правильном использовании исключения.

Изменено в версии 3.9: Вычисление NotImplemented в логическом контексте было признано устаревшим.

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

Ellipsis

То же, что и литерал многоточия «...», объект, часто используемый для обозначения того, что что-то опущено. Присвоение Ellipsis возможно, но присвоение ... вызывает SyntaxError. 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 с указанным кодом выхода.

help

Объект, который при выводе печатает сообщение "Type help() for interactive help, or help(object) for help about object.", а при обращении к нему напрямую в интерактивном интерпретаторе запускает встроенную справочную систему (см. help()).

credits

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

license

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