3. Встроенные константы
Лишь небольшое число констант обитает в строенном пространстве имен. Это:
False
Значение "ложь" типа bool. Недопустимо присваивание к False
, что возбуждает SyntaxError (docs.python.org/3/library/exceptions.html#SyntaxError).
True
Значение "истина" типа bool. Присвоение к True невозможно и вызывает SyntaxError.
None
Единственное значение типа NoneType
. None
часто используется для представления отсутствия значения, как когда аргументы по-умолчанию не передаются в функцию. Присвоение к None
невозможно и вызывает SyntaxError.
NotImplemented
Специальное значение, которое должно быть возвращено специальными бинарными методами (например, __eq__(), __lt__(), __add__(), __rsub__() и т. д.), чтобы показать, что операция не реализована в отношении другого типа; может быть возвращено внутренними специальными бинарными методами (например, __imul__(), __iand__() и др.) для той же цели. Ее истинное значение есть true.
Замечание: Когда двоичный (или внутренний) метод возвращает NotImplemented
, интерпретатор будет пытаться отразить операцию на другом типе (или каком-то другом запасном решении, зависящем от оператора). Если все попытки возвращают NotImplemented
, интерпретатор возбудит соответствующее исключение. Неверно возвращенное NotImplemented
будет результатом в сообщении о вводящей в заблуждение ошибки или значение NotImplemented
возвращается в код Python.
См. примеры в Implementing the arithmetic operations (docs.python.org/3/library/numbers.html#implementing-the-arithmetic-operations).
Замечание: NotImplementedError
и NotImplemented
не взаимозаменяемы, даже если у них похожие имена и цели. См. NotImplementedError для детальной информации об его использовании.
То же самое, что ...
. Специальное значение используется в основном с расширенным синтаксисом срезов для определенных пользователем контейнерных типов данных.
__debug__
Эта константа есть true, если Python не был запущен с опцией -0 (docs.python.org/3/using/cmdline.html#cmdoption-O). См. также оператор assert (docs.python.org/3/reference/simple_stmts.html#assert).
Замечание: Имена None, False, True и __debug__ не могут быть переназначены (назначение им, даже в качестве имен атрибутов, возбуждает SyntaxError), так они могут считаться константами "true".
3.1. Константы, добавленные модулем site
Модуль site (docs.python.org/3/library/site.html#module-site) (который автоматически импортируется во время запуска за исключением случаев, когда передается опция командной строки -S) добавляет несколько констант во встроенное пространство имен. Они полезны для оболочки интерактивного интерпретатора и их не следует использовать в программах.
quit(code=None)
exit(code=None)
Объекты, которые при выводе печатают сообщение подобное "Use quit() or Ctrl-D (i.e. EOF) to exit" ("Используйте quit() или Ctrl-D (т. е. EOF - конец файла) для выхода" - прим. пер.) и, когда вызываются, вызывают SystemExit с указанным кодом выхода.
copyright
license
credits
Объекты , которые, когда выводятся, печатают сообщение подобное "Type license() to see the full license text" ("Введите license(), чтобы увидеть полный текст лицензии" - прим. пер.) и, когда вызываются, отображают соответствующий текст в манере пейджера (один экран за раз).