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