Встроенные константы¶
Небольшое количество констант находится во встроенном пространстве имен. Они являются:
- False¶
Значение false типа
bool
. Присвоение значенияFalse
недопустимо и приводит кSyntaxError
.
- True¶
Истинное значение типа
bool
. ПрисвоенияTrue
недопустимы и приводят кSyntaxError
.
- None¶
Объект, часто используемый для обозначения отсутствия значения, например, когда аргументы по умолчанию не передаются функции. Присвоения
None
недопустимы и приводят к возникновению ошибкиSyntaxError
.None
это единственный экземпляр типаNoneType
.
- NotImplemented¶
Специальное значение, которое должно быть возвращено специальными двоичными методами (например,
__eq__()
,__lt__()
,__add__()
,__rsub__()
, и т.д.), чтобы указать, что операция не реализована в отношении другого типа; может быть возвращено специальными двоичными методами (например,__imul__()
,__iand__()
, и т.д.) для той же цели. Он не должен вычисляться в логическом контексте.NotImplemented
является единственным экземпляром типаtypes.NotImplementedType
.Примечание
Когда двоичный (или локальный) метод возвращает
NotImplemented
, интерпретатор попытается выполнить отраженную операцию для другого типа (или какой-либо другой резервный вариант, в зависимости от оператора). Если все попытки вернут значениеNotImplemented
, интерпретатор вызовет соответствующее исключение. Неправильный возвратNotImplemented
приведет к появлению вводящего в заблуждение сообщения об ошибке или к возвращению значенияNotImplemented
в код Python.Примеры приведены в разделе Выполнение арифметических операций.
Примечание
NotImplementedError
иNotImplemented
не взаимозаменяемы, хотя имеют схожие названия и назначение. Подробнее о том, когда их использовать, смотрите в разделеNotImplementedError
.Изменено в версии 3.9: Вычисление
NotImplemented
в логическом контексте не рекомендуется. Хотя в настоящее время оно оценивается как true, оно будет выдавать значениеDeprecationWarning
. В будущей версии Python оно вызовет значениеTypeError
.
- Ellipsis¶
Аналогично литералу с многоточием «
...
». Специальное значение, используемое в основном в сочетании с расширенным синтаксисом разбиения на части для пользовательских контейнерных типов данных.Ellipsis
является единственным экземпляром типаtypes.EllipsisType
.
- __debug__¶
Эта константа имеет значение true, если Python не был запущен с параметром
-O
. Смотрите также инструкциюassert
.
Примечание
Имена None
, False
, True
и __debug__
не могут быть переназначены (присвоения им, даже в качестве имени атрибута, приводят к появлению SyntaxError
), поэтому их можно считать «истинными» константами.
Константы, добавленные модулем site
¶
Модуль site
(который импортируется автоматически при запуске, за исключением случаев, когда задан параметр командной строки -S
) добавляет несколько констант во встроенное пространство имен. Они полезны для интерактивной оболочки интерпретатора и не должны использоваться в программах.
- quit(code=None)¶
- exit(code=None)¶
Объекты, которые при печати выводят сообщение типа «Используйте quit() или Ctrl-D (т.е. EOF) для выхода», а при вызове выводят
SystemExit
с указанным кодом выхода.
- copyright¶
- credits¶
Объекты, которые при печати или вызове выводят на экран текст с указанием авторских прав или титров соответственно.
- license¶
Объект, который при печати выводит сообщение «Введите license(), чтобы увидеть полный текст лицензии», а при вызове отображает полный текст лицензии в режиме пейджера (по одному экрану за раз).