\chapter{Built-in Types, Exceptions and Functions}
\nodename{Built-in Objects}
\label{builtin}

Names for built-in exceptions and functions are found in a separate
symbol table.  This table is searched last when the interpreter looks
up the meaning of a name, so local and global
user-defined names can override built-in names.  Built-in types are
described together here for easy reference.\footnote{
	Most descriptions sorely lack explanations of the exceptions
	that may be raised --- this will be fixed in a future version of
	this manual.}
\indexii{built-in}{types}
\indexii{built-in}{exceptions}
\indexii{built-in}{functions}
\index{symbol table}

The tables in this chapter document the priorities of operators by
listing them in order of ascending priority (within a table) and
grouping operators that have the same priority in the same box.
Binary operators of the same priority group from left to right.
(Unary operators group from right to left, but there you have no real
choice.)  See Chapter 5 of the \citetitle[../ref/ref.html]{Python
Reference Manual} for the complete picture on operator priorities.
