> **Источник:** https://python-all.ru/3.11/library/constants.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# Встроенные константы

Небольшое количество констант находится во встроенном пространстве имён. Вот они:

#### `False`

Ложное значение типа [`bool`](https://python-all.ru/3.11/library/functions.html#bool). Присваивание `False` запрещено и вызывает [`SyntaxError`](https://python-all.ru/3.11/library/exceptions.html#SyntaxError).

#### `True`

Истинное значение типа [`bool`](https://python-all.ru/3.11/library/functions.html#bool). Присваивание `True` запрещено и вызывает [`SyntaxError`](https://python-all.ru/3.11/library/exceptions.html#SyntaxError).

#### `None`

Объект, часто используемый для представления отсутствия значения, например, когда аргументы по умолчанию не передаются функции. Присваивание `None` запрещено и вызывает [`SyntaxError`](https://python-all.ru/3.11/library/exceptions.html#SyntaxError). `None` – единственный экземпляр типа [`NoneType`](https://python-all.ru/3.11/library/types.html#types.NoneType).

#### `NotImplemented`

Специальное значение, которое должно возвращаться бинарными специальными методами (например, [`__eq__()`](https://python-all.ru/3.11/reference/datamodel.html#object.__eq__), [`__lt__()`](https://python-all.ru/3.11/reference/datamodel.html#object.__lt__), [`__add__()`](https://python-all.ru/3.11/reference/datamodel.html#object.__add__), [`__rsub__()`](https://python-all.ru/3.11/reference/datamodel.html#object.__rsub__) и т.д.), чтобы указать, что операция не реализована для другого типа; может возвращаться бинарными специальными методами с присваиванием (например, [`__imul__()`](https://python-all.ru/3.11/reference/datamodel.html#object.__imul__), [`__iand__()`](https://python-all.ru/3.11/reference/datamodel.html#object.__iand__) и т.д.) для той же цели. Его не следует вычислять в логическом контексте. `NotImplemented` является единственным экземпляром типа [`types.NotImplementedType`](https://python-all.ru/3.11/library/types.html#types.NotImplementedType).

> **Примечание**
>
> Когда бинарный (или с присваиванием) метод возвращает `NotImplemented`, интерпретатор попробует отражённую операцию на другом типе (или другой запасной вариант, в зависимости от оператора). Если все попытки возвращают `NotImplemented`, интерпретатор вызовет соответствующее исключение. Некорректный возврат `NotImplemented` приведёт к вводящему в заблуждение сообщению об ошибке или к возврату значения `NotImplemented` в код Python.
>
> См. [Реализация арифметических операций](https://python-all.ru/3.11/library/numbers.html#implementing-the-arithmetic-operations) с примерами.

> **Примечание**
>
> `NotImplementedError` и `NotImplemented` не являются взаимозаменяемыми, хотя у них похожие названия и назначение. Смотрите [`NotImplementedError`](https://python-all.ru/3.11/library/exceptions.html#NotImplementedError) для подробностей о том, когда его использовать.

Изменено в версии 3.9: Вычисление `NotImplemented` в логическом контексте устарело. Хотя сейчас оно вычисляется как истина, будет выдано предупреждение [`DeprecationWarning`](https://python-all.ru/3.11/library/exceptions.html#DeprecationWarning). В будущей версии Python будет возбуждаться исключение [`TypeError`](https://python-all.ru/3.11/library/exceptions.html#TypeError).

#### `Ellipsis`

То же, что и литерал многоточия “`...`”. Специальное значение, применяемое главным образом вместе с расширенным синтаксисом срезов для пользовательских типов данных-контейнеров. `Ellipsis` – единственный экземпляр типа [`types.EllipsisType`](https://python-all.ru/3.11/library/types.html#types.EllipsisType).

#### `__debug__`

Эта константа истинна, если Python не был запущен с опцией [`-O`](https://python-all.ru/3.11/using/cmdline.html#cmdoption-O). См. также оператор [`assert`](https://python-all.ru/3.11/reference/simple_stmts.html#assert).

> **Примечание**
>
> Имена [`None`](https://python-all.ru/3.11/library/constants.html#None), [`False`](https://python-all.ru/3.11/library/constants.html#False), [`True`](https://python-all.ru/3.11/library/constants.html#True) и [`__debug__`](https://python-all.ru/3.11/library/constants.html#debug__) нельзя переприсваивать (присваивание им, даже в качестве имени атрибута, вызывает [`SyntaxError`](https://python-all.ru/3.11/library/exceptions.html#SyntaxError)), поэтому их можно считать «настоящими» константами.

## Константы, добавляемые модулем [`site`](https://python-all.ru/3.11/library/site.html#module-site)

Модуль [`site`](https://python-all.ru/3.11/library/site.html#module-site) (который импортируется автоматически во время запуска, если не указана опция командной строки [`-S`](https://python-all.ru/3.11/using/cmdline.html#cmdoption-S)) добавляет несколько констант во встроенное пространство имён. Они полезны для интерактивной оболочки интерпретатора и не должны использоваться в программах.

#### `quit(code=None)`

#### `exit(code=None)`

Объекты, которые при выводе на печать печатают сообщение вида «Используйте quit() или Ctrl-D (т.е. EOF) для выхода», а при вызове возбуждают [`SystemExit`](https://python-all.ru/3.11/library/exceptions.html#SystemExit) с указанным кодом выхода.

#### `copyright`

#### `credits`

Объекты, которые при выводе на печать или вызове отображают текст авторского права или благодарностей соответственно.

#### `license`

Объект, который при выводе на печать выводит сообщение «Введите license(), чтобы увидеть полный текст лицензии», а при вызове отображает полный текст лицензии в стиле постраничного просмотра (по одному экрану за раз).
