3. Built-in Constants

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

Note

None, False, True and __debug__ cannot be reassigned (assignments to them raise SyntaxError), so they can be considered “true” constants.

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, as in

.. XXX Someone who understands extended slicing should fill in here.
__debug__
This constant is true if Python was not started with an -O option. Assignments to __debug__ are illegal and raise a SyntaxError. See also the assert statement.

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.
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).

Table Of Contents

Previous topic

2. Built-in Functions

Next topic

4. Built-in Objects

This Page