Built-in Constants

A small number of constants live in the built-in namespace. They are:

False

The false value of thebool type. Assignments toFalseare illegal and raise aSyntaxError.

True

The true value of thebool type. Assignments toTrueare illegal and raise aSyntaxError.

None

An object frequently used to represent the absence of a value, as whendefault arguments are not passed to a function. Assignments toNoneare illegal and raise aSyntaxError.None is the sole instance of theNoneType type.

NotImplemented

A special value which should be returned by the binary special methods(e.g.__eq__(),__lt__(),__add__(),__rsub__(),etc.) to indicate that the operation is not implemented with respect tothe other type; may be returned by the in-place binary special methods(e.g.__imul__(),__iand__(), etc.) for the same purpose.It should not be evaluated in a boolean context.NotImplemented is the sole instance of thetypes.NotImplementedType type.

Note

When a binary (or in-place) method returnsNotImplemented theinterpreter will try the reflected operation on the other type (or someother fallback, depending on the operator). If all attempts returnNotImplemented, the interpreter will raise an appropriate exception.Incorrectly returningNotImplemented will result in a misleadingerror message or theNotImplemented value being returned to Python code.

SeeImplementing the arithmetic operations for examples.

Caution

NotImplemented andNotImplementedError are notinterchangeable. This constant should only be used as describedabove; seeNotImplementedError for details on correct usageof the exception.

Changed in version 3.9:EvaluatingNotImplemented in a boolean context is deprecated. Whileit currently evaluates as true, it will emit aDeprecationWarning.It will raise aTypeError in a future version of Python.

Ellipsis

The same as the ellipsis literal “...”. Special value used mostly in conjunctionwith extended slicing syntax for user-defined container data types.Ellipsis is the sole instance of thetypes.EllipsisType type.

__debug__

This constant is true if Python was not started with an-O option.See also theassert statement.

Note

The namesNone,False,True and__debug__cannot be reassigned (assignments to them, even as an attribute name, raiseSyntaxError), so they can be considered “true” constants.

Constants added by thesite module

Thesite module (which is imported automatically during startup, exceptif the-S command-line option is given) adds several constants to thebuilt-in namespace. They are useful for the interactive interpreter shell andshould not be used in programs.

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

Objects that when printed, print a message like “Use quit() or Ctrl-D(i.e. EOF) to exit”, and when called, raiseSystemExit with thespecified exit code.

help

Object that when printed, prints the message “Type help() for interactivehelp, or help(object) for help about object.”, and when called,acts as describedelsewhere.

copyright
credits

Objects that when printed or called, print the text of copyright orcredits, respectively.

license

Object that when printed, prints the message “Type license() to see thefull license text”, and when called, displays the full license text in apager-like fashion (one screen at a time).