Встроенные константы¶
Небольшое количество констант живет во встроенном пространстве имен. К ним относятся:
-
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», а при вызове отображает полный текст лицензии в виде пейджера (по одному экрану за раз).