# Constantes embutidas

Um pequeno número de constantes são definidas no espaço de nomes embutido da linguagem. São elas:

False

  O valor falso do tipo `bool`. As atribuições a `False` são ilegais e levantam `SyntaxError`.

True

  O valor verdadeiro do tipo `bool`. As atribuições a `True` são ilegais e levantam `SyntaxError`.

None

  Um objeto frequentemente usado para representar a ausência de um valor, como quando os argumentos padrão não são passados para uma função. As atribuições a `None` são ilegais e levantam `SyntaxError`. `None` é a única instância do tipo `NoneType`.

NotImplemented

  Um valor especial que deve ser retornado pelos métodos binários especiais (por exemplo: `__eq__()`, `__lt__()`, `__add__()`, `__rsub__()`, etc.) não é implementado em relação ao outro tipo; pode ser retornado pelos métodos especiais binários no local (por exemplo: `__imul__()`, `__iand__()`, etc.) para o mesmo propósito. Ele não deve ser avaliado em um contexto booleano. `NotImplemented` é a única instância do tipo `types.NotImplementedType`.

  Nota

  Quando um método binário (ou local) retorna `NotImplemented`, o interpretador tentará a operação refletida no outro tipo (ou algum outro fallback, dependendo do operador). Se todas as tentativas retornarem `NotImplemented`, o interpretador levantará uma exceção apropriada. Retornar incorretamente `NotImplemented` resultará em uma mensagem de erro enganosa ou no valor `NotImplemented` sendo retornado ao código Python.

  Consulte Implementando as operações aritméticas para ver exemplos.

  Nota

  `NotImplementedError` e `NotImplemented` não são intercambiáveis, mesmo que tenham nomes e propósitos similares. Veja `NotImplementedError` para detalhes e casos de uso.

  Alterado na versão 3.9: A avaliação de `NotImplemented` em um contexto booleano foi descontinuado. Embora atualmente seja avaliado como verdadeiro, ele emitirá um `DeprecationWarning`. Ele levantará uma `TypeError` em uma versão futura do Python.

Ellipsis

  O mesmo que as reticências literais “`...`”. Valor especial usado principalmente em conjunto com a sintaxe de divisão estendida para tipos de dados de contêiner definidos pelo usuário. `Ellipsis` é a única instância do tipo `types.EllipsisType`.

__debug__

  Esta constante é verdadeira se o Python não foi iniciado com uma opção `-O`. Veja também a instrução `assert`.

Nota

Os nomes `None`, `False`, `True` e `__debug__` não podem ser reatribuídos (atribuições a eles, mesmo como um nome de atributo, levantam `SyntaxError` ), para que possam ser consideradas “verdadeiras” constantes.

## Constantes adicionadas pelo módulo `site`

O módulo `site` (que é importado automaticamente durante a inicialização, exceto se a opção de linha de comando `-S` for fornecida) adiciona várias constantes ao espaço de nomes embutido. Eles são úteis para o console do interpretador interativo e não devem ser usados em programas.

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

  Objetos que, quando impressos, imprimem uma mensagem como “Use quit() or Ctrl-D (i.e. EOF) to exit” e, quando chamados, levantam `SystemExit` com o código de saída especificado.

copyright
credits

  Objetos que ao serem impressos ou chamados, imprimem o texto dos direitos autorais ou créditos, respectivamente.

license

  Objeto que, quando impresso, imprime a mensagem “Type license() to see the full license text” e, quando chamado, exibe o texto completo da licença de maneira semelhante a um paginador (uma tela por vez).