.. c:function:: Py_ssize_t PyDict_Size(PyObject *p)
- .. index:: builtin: len
+ .. index:: pair: built-in function; len
Return the number of items in the dictionary. This is equivalent to
``len(p)`` on a dictionary.
.. c:function:: PyObject* PyImport_ImportModuleEx(const char *name, PyObject *globals, PyObject *locals, PyObject *fromlist)
- .. index:: builtin: __import__
+ .. index:: pair: built-in function; __import__
Import a module. This is best described by referring to the built-in Python
function :func:`__import__`.
.. c:function:: PyObject* PyImport_ExecCodeModule(const char *name, PyObject *co)
- .. index:: builtin: compile
+ .. index:: pair: built-in function; compile
Given a module name (possibly of the form ``package.module``) and a code object
read from a Python bytecode file or obtained from the built-in function
.. c:function:: Py_ssize_t PyList_Size(PyObject *list)
- .. index:: builtin: len
+ .. index:: pair: built-in function; len
Return the length of the list object in *list*; this is equivalent to
``len(list)`` on a list object.
.. c:function:: PyObject* PyList_AsTuple(PyObject *list)
- .. index:: builtin: tuple
+ .. index:: pair: built-in function; tuple
Return a new tuple object containing the contents of *list*; equivalent to
``tuple(list)``.
.. c:function:: Py_ssize_t PyMapping_Size(PyObject *o)
Py_ssize_t PyMapping_Length(PyObject *o)
- .. index:: builtin: len
+ .. index:: pair: built-in function; len
Returns the number of keys in object *o* on success, and ``-1`` on failure.
This is equivalent to the Python expression ``len(o)``.
.. c:function:: PyObject* PyNumber_Divmod(PyObject *o1, PyObject *o2)
- .. index:: builtin: divmod
+ .. index:: pair: built-in function; divmod
See the built-in function :func:`divmod`. Returns ``NULL`` on failure. This is
the equivalent of the Python expression ``divmod(o1, o2)``.
.. c:function:: PyObject* PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3)
- .. index:: builtin: pow
+ .. index:: pair: built-in function; pow
See the built-in function :func:`pow`. Returns ``NULL`` on failure. This is the
equivalent of the Python expression ``pow(o1, o2, o3)``, where *o3* is optional.
.. c:function:: PyObject* PyNumber_Absolute(PyObject *o)
- .. index:: builtin: abs
+ .. index:: pair: built-in function; abs
Returns the absolute value of *o*, or ``NULL`` on failure. This is the equivalent
of the Python expression ``abs(o)``.
.. c:function:: PyObject* PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3)
- .. index:: builtin: pow
+ .. index:: pair: built-in function; pow
See the built-in function :func:`pow`. Returns ``NULL`` on failure. The operation
is done *in-place* when *o1* supports it. This is the equivalent of the Python
.. c:function:: PyObject* PyNumber_Long(PyObject *o)
- .. index:: builtin: int
+ .. index:: pair: built-in function; int
Returns the *o* converted to an integer object on success, or ``NULL`` on
failure. This is the equivalent of the Python expression ``int(o)``.
.. c:function:: PyObject* PyNumber_Float(PyObject *o)
- .. index:: builtin: float
+ .. index:: pair: built-in function; float
Returns the *o* converted to a float object on success, or ``NULL`` on failure.
This is the equivalent of the Python expression ``float(o)``.
.. c:function:: PyObject* PyObject_Repr(PyObject *o)
- .. index:: builtin: repr
+ .. index:: pair: built-in function; repr
Compute a string representation of object *o*. Returns the string
representation on success, ``NULL`` on failure. This is the equivalent of the
.. c:function:: PyObject* PyObject_ASCII(PyObject *o)
- .. index:: builtin: ascii
+ .. index:: pair: built-in function; ascii
As :c:func:`PyObject_Repr`, compute a string representation of object *o*, but
escape the non-ASCII characters in the string returned by
.. c:function:: PyObject* PyObject_Bytes(PyObject *o)
- .. index:: builtin: bytes
+ .. index:: pair: built-in function; bytes
Compute a bytes representation of object *o*. ``NULL`` is returned on
failure and a bytes object on success. This is equivalent to the Python
.. c:function:: Py_hash_t PyObject_Hash(PyObject *o)
- .. index:: builtin: hash
+ .. index:: pair: built-in function; hash
Compute and return the hash value of an object *o*. On failure, return ``-1``.
This is the equivalent of the Python expression ``hash(o)``.
.. c:function:: PyObject* PyObject_Type(PyObject *o)
- .. index:: builtin: type
+ .. index:: pair: built-in function; type
When *o* is non-``NULL``, returns a type object corresponding to the object type
of object *o*. On failure, raises :exc:`SystemError` and returns ``NULL``. This
.. c:function:: Py_ssize_t PyObject_Size(PyObject *o)
Py_ssize_t PyObject_Length(PyObject *o)
- .. index:: builtin: len
+ .. index:: pair: built-in function; len
Return the length of object *o*. If the object *o* provides either the sequence
and mapping protocols, the sequence length is returned. On error, ``-1`` is
.. c:function:: Py_ssize_t PySequence_Size(PyObject *o)
Py_ssize_t PySequence_Length(PyObject *o)
- .. index:: builtin: len
+ .. index:: pair: built-in function; len
Returns the number of objects in sequence *o* on success, and ``-1`` on
failure. This is equivalent to the Python expression ``len(o)``.
.. c:function:: PyObject* PySequence_Tuple(PyObject *o)
- .. index:: builtin: tuple
+ .. index:: pair: built-in function; tuple
Return a tuple object with the same contents as the sequence or iterable *o*,
or ``NULL`` on failure. If *o* is a tuple, a new reference will be returned,
.. c:function:: Py_ssize_t PySet_Size(PyObject *anyset)
- .. index:: builtin: len
+ .. index:: pair: built-in function; len
Return the length of a :class:`set` or :class:`frozenset` object. Equivalent to
``len(anyset)``. Raises a :exc:`PyExc_SystemError` if *anyset* is not a
.. data:: METH_CLASS
- .. index:: builtin: classmethod
+ .. index:: pair: built-in function; classmethod
The method will be passed the type object as the first parameter rather
than an instance of the type. This is used to create *class methods*,
.. data:: METH_STATIC
- .. index:: builtin: staticmethod
+ .. index:: pair: built-in function; staticmethod
The method will be passed ``NULL`` as the first parameter rather than an
instance of the type. This is used to create *static methods*, similar to
.. c:member:: reprfunc PyTypeObject.tp_repr
- .. index:: builtin: repr
+ .. index:: pair: built-in function; repr
An optional pointer to a function that implements the built-in function
:func:`repr`.
.. c:member:: hashfunc PyTypeObject.tp_hash
- .. index:: builtin: hash
+ .. index:: pair: built-in function; hash
An optional pointer to a function that implements the built-in function
:func:`hash`.
.. index::
single: string; object representation
- builtin: repr
+ pair: built-in function; repr
Object Presentation
-------------------
.. opcode:: BUILD_SLICE (argc)
- .. index:: builtin: slice
+ .. index:: pair: built-in function; slice
Pushes a slice object on the stack. *argc* must be 2 or 3. If it is 2, implements::
Raises an :ref:`auditing event <auditing>` ``exec`` with the code object
as the argument. Code compilation events may also be raised.
-.. index:: builtin: exec
+.. index:: pair: built-in function; exec
.. function:: exec(object, globals=None, locals=None, /, *, closure=None)
.. function:: isreadable(object)
- .. index:: builtin: eval
+ .. index:: pair: built-in function; eval
Determine if the formatted representation of *object* is "readable", or can be
used to reconstruct the value using :func:`eval`. This always returns ``False``
.. method:: PrettyPrinter.isreadable(object)
- .. index:: builtin: eval
+ .. index:: pair: built-in function; eval
Determine if the formatted representation of the object is "readable," or can be
used to reconstruct the value using :func:`eval`. Note that this returns
.. index::
single: arithmetic
- builtin: int
- builtin: float
- builtin: complex
+ pair: built-in function; int
+ pair: built-in function; float
+ pair: built-in function; complex
single: operator; + (plus)
single: + (plus); unary operator
single: + (plus); binary operator
.. index::
triple: operations on; sequence; types
- builtin: len
- builtin: min
- builtin: max
+ pair: built-in function; len
+ pair: built-in function; min
+ pair: built-in function; max
pair: concatenation; operation
pair: repetition; operation
pair: subscript; operation
.. index::
triple: immutable; sequence; types
pair: object; tuple
- builtin: hash
+ pair: built-in function; hash
The only operation that immutable sequence types generally implement that is
not also implemented by mutable sequence types is support for the :func:`hash`
triple: operations on; mapping; types
triple: operations on; dictionary; type
pair: statement; del
- builtin: len
+ pair: built-in function; len
A :term:`mapping` object maps :term:`hashable` values to arbitrary objects.
Mappings are mutable objects. There is currently only one standard mapping
------------
.. index::
- builtin: compile
+ pair: built-in function; compile
single: __code__ (function object attribute)
Code objects are used by the implementation to represent "pseudo-compiled"
``object.__getattr__`` with arguments ``obj`` and ``"__code__"``.
.. index::
- builtin: exec
- builtin: eval
+ pair: built-in function; exec
+ pair: built-in function; eval
A code object can be executed or evaluated by passing it (instead of a source
string) to the :func:`exec` or :func:`eval` built-in functions.
------------
.. index::
- builtin: type
+ pair: built-in function; type
pair: module; types
Type objects represent the various object types. An object's type is accessed
.. class:: CodeType(**kwargs)
- .. index:: builtin: compile
+ .. index:: pair: built-in function; compile
The type for code objects such as returned by :func:`compile`.
.. index::
- builtin: range
+ pair: built-in function; range
Names in the target list are not deleted when the loop is finished, but if the
sequence is empty, they will not have been assigned to at all by the loop. Hint:
represented by objects.)
.. index::
- builtin: id
- builtin: type
+ pair: built-in function; id
+ pair: built-in function; type
single: identity of an object
single: value of an object
single: type of an object
Sequences
.. index::
- builtin: len
+ pair: built-in function; len
pair: object; sequence
single: index operation
single: item selection
Strings
.. index::
- builtin: chr
- builtin: ord
+ pair: built-in function; chr
+ pair: built-in function; ord
single: character
single: integer
single: Unicode
Set types
.. index::
- builtin: len
+ pair: built-in function; len
pair: object; set type
These represent unordered, finite sets of unique, immutable objects. As such,
Mappings
.. index::
- builtin: len
+ pair: built-in function; len
single: subscription
pair: object; mapping
I/O objects (also known as file objects)
.. index::
- builtin: open
+ pair: built-in function; open
pair: module; io
single: popen() (in module os)
single: makefile() (socket method)
and the ``tb_next`` attribute of existing instances can be updated.
Slice objects
- .. index:: builtin: slice
+ .. index:: pair: built-in function; slice
Slice objects are used to represent slices for
:meth:`~object.__getitem__`
.. method:: object.__bytes__(self)
- .. index:: builtin: bytes
+ .. index:: pair: built-in function; bytes
Called by :ref:`bytes <func-bytes>` to compute a byte-string representation
of an object. This should return a :class:`bytes` object.
.. index::
single: string; __format__() (object method)
pair: string; conversion
- builtin: print
+ pair: built-in function; print
.. method:: object.__format__(self, format_spec)
.. index::
pair: object; dictionary
- builtin: hash
+ pair: built-in function; hash
Called by built-in function :func:`hash` and for operations on members of
hashed collections including :class:`set`, :class:`frozenset`, and
.. index::
single: metaclass
- builtin: type
+ pair: built-in function; type
single: = (equals); class definition
By default, classes are constructed using :func:`type`. The class body is
.. method:: object.__len__(self)
.. index::
- builtin: len
+ pair: built-in function; len
single: __bool__() (object method)
Called to implement the built-in function :func:`len`. Should return the length
object.__or__(self, other)
.. index::
- builtin: divmod
- builtin: pow
- builtin: pow
+ pair: built-in function; divmod
+ pair: built-in function; pow
+ pair: built-in function; pow
These methods are called to implement the binary arithmetic operations
(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`,
object.__ror__(self, other)
.. index::
- builtin: divmod
- builtin: pow
+ pair: built-in function; divmod
+ pair: built-in function; pow
These methods are called to implement the binary arithmetic operations
(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`,
``type(y).__rsub__(y, x)`` is called if ``type(x).__sub__(x, y)`` returns
*NotImplemented*.
- .. index:: builtin: pow
+ .. index:: pair: built-in function; pow
Note that ternary :func:`pow` will not try calling :meth:`__rpow__` (the
coercion rules would become too complicated).
object.__abs__(self)
object.__invert__(self)
- .. index:: builtin: abs
+ .. index:: pair: built-in function; abs
Called to implement the unary arithmetic operations (``-``, ``+``, :func:`abs`
and ``~``).
object.__float__(self)
.. index::
- builtin: complex
- builtin: int
- builtin: float
+ pair: built-in function; complex
+ pair: built-in function; int
+ pair: built-in function; float
Called to implement the built-in functions :func:`complex`,
:func:`int` and :func:`float`. Should return a value
object.__floor__(self)
object.__ceil__(self)
- .. index:: builtin: round
+ .. index:: pair: built-in function; round
Called to implement the built-in function :func:`round` and :mod:`math`
functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`.
expression).
.. index::
- builtin: repr
+ pair: built-in function; repr
pair: object; None
pair: string; conversion
single: output
them or silently change the meaning of the program.
.. index::
- builtin: exec
- builtin: eval
- builtin: compile
+ pair: built-in function; exec
+ pair: built-in function; eval
+ pair: built-in function; compile
**Programmer's note:** :keyword:`global` is a directive to the parser. It
applies only to code parsed at the same time as the :keyword:`!global` statement.
================
.. index:: single: input
-.. index:: builtin: eval
+.. index:: pair: built-in function; eval
:func:`eval` is used for expression input. It ignores leading whitespace. The
string argument to :func:`eval` must have the following form:
pairindextypes.pop('object', None)
pairindextypes.pop('exception', None)
pairindextypes.pop('statement', None)
- # pairindextypes.pop('builtin', None)
+ pairindextypes.pop('builtin', None)
def setup(app):
=========================
.. index::
- builtin: open
+ pair: built-in function; open
pair: object; file
:func:`open` returns a :term:`file object`, and is most commonly used with
will keep :func:`os.open` from shadowing the built-in :func:`open` function which
operates much differently.
-.. index:: builtin: help
+.. index:: pair: built-in function; help
The built-in :func:`dir` and :func:`help` functions are useful as interactive
aids for working with large modules like :mod:`os`::