Встроенные константы¶
Небольшое количество констант живет во встроенном пространстве имен. К ним относятся:
- 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
приведет к появлению недостоверного сообщения об ошибке или возврату значенияNotImplemented
в код Python.Примеры см. в разделе Реализация арифметических операций.
Примечание
NotImplementedError
иNotImplemented
не являются взаимозаменяемыми, хотя имеют схожие названия и назначение. См. разделNotImplementedError
для получения подробной информации о том, когда его следует использовать.Изменено в версии 3.9: Оценка
NotImplemented
в булевом контексте была устаревшей.Изменено в версии 3.14: Оценка
NotImplemented
в булевом контексте теперь выводитTypeError
. Ранее, начиная с Python 3.9, она оценивалась вTrue
и выдавалаDeprecationWarning
.
- 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¶
Объект, который при печати выводит сообщение «Введите license(), чтобы увидеть полный текст лицензии», а при вызове отображает полный текст лицензии в виде пейджера (по одному экрану за раз).