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

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

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

False

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

True

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

None

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

NotImplemented

Специальное значение, которое должно возвращаться бинарными специальными методами (например, __eq__(), __lt__(), __add__(), __rsub__() и т.д.), чтобы указать, что операция не реализована для dругого типа; может возвращаться бинарными специальными методами с присваиванием (например, __imul__(), __iand__() и т.д.) для той же цели. Его истинностное значение – True.

Примечание

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

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

Примечание

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

Ellipsis

То же, что и литерал многоточия “...”. Специальное значение, используемое в основном в сочетании с расширенным синтаксисом срезов для пользовательских типов контейнеров.

__debug__

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

Примечание

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

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

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

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

Объекты, которые при выводе печатают сообщение вроде «Используйте quit() или Ctrl-D (т.е. EOF) для выхода», а при вызове возбуждают SystemExit с указанным кодом выхода.

credits

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

license

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