3. 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 to False
are illegal and raise a SyntaxError.
-
True
- The true value of the bool type. Assignments to True
are illegal and raise a SyntaxError.
-
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. Assignments to None are illegal and raise a SyntaxError.
-
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
- The same as .... Special value used mostly in conjunction with extended
slicing syntax for user-defined container data types.
-
__debug__
- This constant is true if Python was not started with an -O option.
See also the assert statement.
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.
3.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).