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с указанным кодом выхода.
-
copyright¶ -
credits¶ Объекты, которые при выводе или вызове печатают текст авторских прав или благодарностей, соответственно.
-
license¶ Объект, который при выводе печатает сообщение "Type license() to see the full license text", а при вызове отображает полный текст лицензии в постраничном режиме (по одному экрану за раз).