Built-in Constants¶
A small number of constants live in the built-in namespace. They are:
- False¶
The false value of the
booltype. Assignments toFalseare illegal and raise aSyntaxError.
- True¶
The true value of the
booltype. Assignments toTrueare illegal and raise aSyntaxError.
- None¶
An object frequently used to represent the absence of a value, as when default arguments are not passed to a function. Assignments to
Noneare illegal and raise aSyntaxError.Noneis the sole instance of theNoneTypetype.
- 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 to the 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.NotImplementedis the sole instance of thetypes.NotImplementedTypetype.Note
When a binary (or in-place) method returns
NotImplementedthe interpreter will try the reflected operation on the other type (or some other fallback, depending on the operator). If all attempts returnNotImplemented, the interpreter will raise an appropriate exception. Incorrectly returningNotImplementedwill result in a misleading error message or theNotImplementedvalue being returned to Python code.See Implementing the arithmetic operations for examples.
Note
NotImplementedErrorandNotImplementedare not interchangeable, even though they have similar names and purposes. SeeNotImplementedErrorfor details on when to use it.Changed in version 3.9: Evaluating
NotImplementedin a boolean context was deprecated.Changed in version 3.14: Evaluating
NotImplementedin a boolean context now raises aTypeError. It previously evaluated toTrueand emitted aDeprecationWarningsince Python 3.9.
- Ellipsis¶
The same as the ellipsis literal “
...”. Special value used mostly in conjunction with extended slicing syntax for user-defined container data types.Ellipsisis the sole instance of thetypes.EllipsisTypetype.
- __debug__¶
This constant is true if Python was not started with an
-Ooption. See also theassertstatement.
Note
The names None, False, True and __debug__
cannot be reassigned (assignments to them, even as an attribute name, raise
SyntaxError), so they can be considered “true” constants.
Constants added by the site module¶
The site module (which is imported automatically during startup, except
if the -S command-line option is given) adds several constants to the
built-in namespace. They are useful for the interactive interpreter shell and
should 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, raise
SystemExitwith the specified exit code.
- help
Object that when printed, prints the message “Type help() for interactive help, or help(object) for help about object.”, and when called, acts as described
elsewhere.
- copyright¶
- credits¶
Objects that when printed or called, print the text of copyright or credits, respectively.
- license¶
Object that when printed, prints the message “Type license() to see the full license text”, and when called, displays the full license text in a pager-like fashion (one screen at a time).