Built-in Constants¶
A small number of constants live in the built-in namespace. They are:
- False¶
The false value of the
bool
type. Assignments toFalse
are illegal and raise aSyntaxError
.
- True¶
The true value of the
bool
type. Assignments toTrue
are 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 to
None
are 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 returns
NotImplemented
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:Evaluating
NotImplemented
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, raise
SystemExit
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 described
elsewhere
.
- 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).