# Constantes incorporadas

Un pequeño número de constantes viven en el espacio de nombres incorporado. Ellas son:

`False`

  El valor falso del tipo `bool`. Las asignaciones a `False` son ilegales y generan un `SyntaxError`.

`True`

  El valor verdadero del tipo `bool`. Las asignaciones a `True` son ilegales y generan un `SyntaxError`.

`None`

  Un objeto frecuentemente usado para representar la ausencia de un valor, tal como cuando no se entregan argumentos por defecto a una función. Las asignaciones a `None` son ilegales y lanzan un `SytaxError`. `None` es la única instancia del tipo `NoneType`.

`NotImplemented`

  Valor especial que debe ser retornado por los métodos especiales binarios (por ejemplo `__eq__()`, `__lt__()`, `__add__()`, `__rsub__()`, etc.) para indicar que la operación no está implementada con respecto al otro tipo; puede ser retornado por los métodos especiales binarios in situ (por ejemplo `__imul__()`, `__iand__()`, etc.) con el mismo propósito. No debe evaluarse en un contexto booleano. `NotImplemented` es la única instancia del tipo `types.NotImplementedType`.

  Nota

  Cuando un método binario (o in situ) retorna `NotImplemented`, el intérprete intentará la operación reflejada en el otro tipo (o algún otro recurso alternativo, según el operador). Si todos los intentos retornan `NotImplemented`, el intérprete lanzará una excepción apropiada. Retornar incorrectamente `NotImplemented` dará como resultado un mensaje de error engañoso o el valor de `NotImplemented` se retornará al código Python.

  Consulte Implementar operaciones aritméticas para ver ejemplos.

  Nota

  `NotImplementedError` y `NotImplemented` no son lo mismo, aunque tengan nombres y propósitos similares. Consulte `NotImplementedError` para obtener más información sobre cuándo usarlo.

  Distinto en la versión 3.9: La evaluación de `NotImplemented` en un contexto booleano está en desuso. Si bien actualmente se evalúa como verdadero, emitirá un `DeprecationWarning`. Lanzará un `TypeError` en una versión futura de Python.

`Ellipsis`

  Lo mismo que la elipsis literal «`...`». Valor especial que se utiliza principalmente junto con la sintaxis de segmentación extendida para tipos de datos de contenedor definidos por el usuario.``Ellipsis`` es la única instancia del tipo `types.EllipsisType`.

`__debug__`

  Esta constante es verdadera si Python no se inició con una opción `-O`. Vea también la instrucción `assert`.

Nota

Los nombres: `None`, `False`, `True` y `__debug__` no se pueden reasignar (asignaciones a ellos, incluso como un nombre de atributo, lanza `SyntaxError` ), por lo que pueden considerarse constantes «verdaderas».

## Constantes agregadas por el módulo `site`

El módulo `site` (que se importa automáticamente durante el inicio, excepto si se proporciona la opción `-S` en la línea de comandos) agrega varias constantes al espacio de nombres integrado. Son útiles para el intérprete interactivo y no deben usarse en programas.

`quit`(code=None)
`exit`(code=None)

  Objetos que cuando se imprimen, muestra un mensaje como «Use quit() o Ctrl-D (i.e. EOF) to exit», y cuando se llama, lanza `SystemExit` con el código de salida especificado.

`copyright`
`credits`

  Objetos que al ser impresos o llamados imprimen el texto de derechos de autor o créditos, respectivamente.

`license`

  Objeto que cuando se imprime, muestra el mensaje «Escriba licencia () para ver el texto completo de la licencia», y cuando se le llama, muestra el texto completo de la licencia en forma de buscapersonas (una pantalla a la vez).