Встроенные константы¶
Во встроенном пространстве имён находится небольшое количество констант. Вот они:
- 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.Примеры см. в Implementing the arithmetic operations.
Осторожно
NotImplementedиNotImplementedErrorне взаимозаменяемы. Эту константу следует использовать только так, как описано выше. Подробности о правильном использовании исключения см. вNotImplementedError.Изменено в версии 3.9: Вычисление
NotImplementedв логическом контексте объявлено устаревшим.Изменено в версии 3.14: Вычисление
NotImplementedв логическом контексте теперь возбуждает исключениеTypeError. Раньше оно вычислялось вTrueи, начиная с Python 3.9, выдавалоDeprecationWarning.
- Ellipsis¶
То же, что и литерал многоточия «
...» — объект, часто используемый для обозначения пропуска чего-либо. ПрисваиваниеEllipsisвозможно, но присваивание...возбуждает исключениеSyntaxError.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с указанным кодом завершения.
- help
Объект, который при выводе на печать выводит сообщение «Type help() for interactive help, or help(object) for help about object.», а при прямом обращении к нему в интерактивном интерпретаторе вызывает встроенную справочную систему (см.
help()).
- copyright¶
- credits¶
Объекты, которые при выводе на печать или при вызове выводят текст об авторских правах или благодарностях соответственно.
- license¶
Объект, который при выводе на печать выводит сообщение «Type license() to see the full license text», а при вызове показывает полный текст лицензии в режиме постраничного просмотра (по одному экрану за раз).