4. Built-in Constants
A small number of constants live in the built-in namespace. They are:
-
False
The false value of the
bool
type.New in version 2.3.
-
True
The true value of the
bool
type.New in version 2.3.
-
None
The sole value of
types.NoneType
.None
is frequently used to represent the absence of a value, as when default arguments are not passed to a function.Changed in version 2.4: Assignments to
None
are illegal and raise aSyntaxError
.
-
NotImplemented
Special value which can be returned by the “rich comparison” special methods (
__eq__()
,__lt__()
, and friends), to indicate that the comparison is not implemented with respect to the other type.
-
Ellipsis
Special value used in conjunction with extended slicing syntax.
-
__debug__
This constant is true if Python was not started with an
-O
option. See also theassert
statement.
Note
The names None
and __debug__
cannot be reassigned
(assignments to them, even as an attribute name, raise SyntaxError
),
so they can be considered “true” constants.
Changed in version 2.7: Assignments to __debug__
as an attribute became illegal.
4.1. 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
SystemExit
with the specified exit code.
-
copyright
-
license
-
credits
Objects that when printed, print a message like “Type license() to see the full license text”, and when called, display the corresponding text in a pager-like fashion (one screen at a time).