----------------
Python provides two general-purpose iterator objects. The first, a sequence
-iterator, works with an arbitrary sequence supporting the :meth:`__getitem__`
+iterator, works with an arbitrary sequence supporting the :meth:`~object.__getitem__`
method. The second works with a callable object and a sentinel value, calling
the callable for each item in the sequence, and ending the iteration when the
sentinel value is returned.
Return ``1`` if the object provides the mapping protocol or supports slicing,
and ``0`` otherwise. Note that it returns ``1`` for Python classes with
- a :meth:`__getitem__` method, since in general it is impossible to
+ a :meth:`~object.__getitem__` method, since in general it is impossible to
determine what type of keys the class supports. This function always succeeds.
This is equivalent to the Python expression ``key in o``.
This function always succeeds.
- Note that exceptions which occur while calling the :meth:`__getitem__`
+ Note that exceptions which occur while calling the :meth:`~object.__getitem__`
method will get suppressed.
To get error reporting use :c:func:`PyObject_GetItem()` instead.
This is equivalent to the Python expression ``key in o``.
This function always succeeds.
- Note that exceptions which occur while calling the :meth:`__getitem__`
+ Note that exceptions which occur while calling the :meth:`~object.__getitem__`
method and creating a temporary string object will get suppressed.
To get error reporting use :c:func:`PyMapping_GetItemString()` instead.
.. warning::
The deallocation function can cause arbitrary Python code to be invoked (e.g.
- when a class instance with a :meth:`__del__` method is deallocated). While
+ when a class instance with a :meth:`~object.__del__` method is deallocated). While
exceptions in such code are not propagated, the executed code has free access to
all Python global variables. This means that any object that is reachable from
a global variable should be in a consistent state before :c:func:`Py_DECREF` is
.. c:function:: int PySequence_Check(PyObject *o)
Return ``1`` if the object provides the sequence protocol, and ``0`` otherwise.
- Note that it returns ``1`` for Python classes with a :meth:`__getitem__`
+ Note that it returns ``1`` for Python classes with a :meth:`~object.__getitem__`
method, unless they are :class:`dict` subclasses, since in general it
is impossible to determine what type of keys the class supports. This
function always succeeds.
A related function is :func:`itertools.accumulate(iterable, func=operator.add)
<itertools.accumulate>`. It performs the same calculation, but instead of
-returning only the final result, :func:`accumulate` returns an iterator that
-also yields each partial result::
+returning only the final result, :func:`~itertools.accumulate` returns an iterator
+that also yields each partial result::
itertools.accumulate([1, 2, 3, 4, 5]) =>
1, 3, 6, 10, 15
Compilation Flags
-----------------
+.. currentmodule:: re
+
Compilation flags let you modify some aspects of how regular expressions work.
Flags are available in the :mod:`re` module under two names, a long name such as
:const:`IGNORECASE` and a short, one-letter form such as :const:`I`. (If you're
* The sort routines use ``<`` when making comparisons
between two objects. So, it is easy to add a standard sort order to a class by
- defining an :meth:`__lt__` method:
+ defining an :meth:`~object.__lt__` method:
.. doctest::
>>> sorted(student_objects)
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
- However, note that ``<`` can fall back to using :meth:`__gt__` if
- :meth:`__lt__` is not implemented (see :func:`object.__lt__`).
+ However, note that ``<`` can fall back to using :meth:`~object.__gt__` if
+ :meth:`~object.__lt__` is not implemented (see :func:`object.__lt__`).
* Key functions need not depend directly on the objects being sorted. A key
function can also access external resources. For instance, if the student grades
A second tool is the :mod:`unicodedata` module's
:func:`~unicodedata.normalize` function that converts strings to one
-of several normal forms, where letters followed by a combining
-character are replaced with single characters. :func:`normalize` can
+of several normal forms, where letters followed by a combining character are
+replaced with single characters. :func:`~unicodedata.normalize` can
be used to perform string comparisons that won't falsely report
inequality if two strings use combining characters differently:
print(compare_caseless(single_char, multiple_chars))
-This will print ``True``. (Why is :func:`NFD` invoked twice? Because
-there are a few characters that make :meth:`casefold` return a
+This will print ``True``. (Why is :func:`!NFD` invoked twice? Because
+there are a few characters that make :meth:`~str.casefold` return a
non-normalized string, so the result needs to be normalized again. See
section 3.13 of the Unicode Standard for a discussion and an example.)
.. data:: TIMEOUT_MAX
The maximum value allowed for the *timeout* parameter of
- :meth:`Lock.acquire`. Specifying a timeout greater than this value will
- raise an :exc:`OverflowError`.
+ :meth:`Lock.acquire <threading.Lock.acquire>`. Specifying a timeout greater
+ than this value will raise an :exc:`OverflowError`.
.. versionadded:: 3.2
* Calling :func:`sys.exit` or raising the :exc:`SystemExit` exception is
equivalent to calling :func:`_thread.exit`.
-* It is not possible to interrupt the :meth:`acquire` method on a lock --- the
- :exc:`KeyboardInterrupt` exception will happen after the lock has been acquired.
+* It is not possible to interrupt the :meth:`~threading.Lock.acquire` method on
+ a lock --- the :exc:`KeyboardInterrupt` exception will happen after the lock
+ has been acquired.
* When the main thread exits, it is system defined whether the other threads
survive. On most systems, they are killed without executing
.. class:: Compile()
- Instances of this class have :meth:`__call__` methods identical in signature to
+ Instances of this class have :meth:`~object.__call__` methods identical in signature to
the built-in function :func:`compile`, but with the difference that if the
instance compiles program text containing a :mod:`__future__` statement, the
instance 'remembers' and compiles all subsequent program texts with the
.. class:: CommandCompiler()
- Instances of this class have :meth:`__call__` methods identical in signature to
+ Instances of this class have :meth:`~object.__call__` methods identical in signature to
:func:`compile_command`; the difference is that if the instance compiles program
text containing a :mod:`__future__` statement, the instance 'remembers' and
compiles all subsequent program texts with the statement in force.
An object 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 :exc:`SyntaxError`.
- ``None`` is the sole instance of the :data:`NoneType` type.
+ ``None`` is the sole instance of the :data:`~types.NoneType` type.
.. data:: NotImplemented
A special value which should be returned by the binary special methods
- (e.g. :meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:`__rsub__`,
+ (e.g. :meth:`~object.__eq__`, :meth:`~object.__lt__`, :meth:`~object.__add__`, :meth:`~object.__rsub__`,
etc.) to indicate that the operation is not implemented with respect to
the other type; may be returned by the in-place binary special methods
- (e.g. :meth:`__imul__`, :meth:`__iand__`, etc.) for the same purpose.
+ (e.g. :meth:`~object.__imul__`, :meth:`~object.__iand__`, etc.) for the same purpose.
It should not be evaluated in a boolean context.
``NotImplemented`` is the sole instance of the :data:`types.NotImplementedType` type.
Doc/c-api/intro.rst
Doc/c-api/iterator.rst
Doc/c-api/long.rst
-Doc/c-api/mapping.rst
Doc/c-api/marshal.rst
Doc/c-api/memory.rst
Doc/c-api/memoryview.rst
Doc/c-api/module.rst
Doc/c-api/none.rst
Doc/c-api/object.rst
-Doc/c-api/refcounting.rst
-Doc/c-api/sequence.rst
Doc/c-api/set.rst
Doc/c-api/stable.rst
Doc/c-api/structures.rst
Doc/howto/curses.rst
Doc/howto/descriptor.rst
Doc/howto/enum.rst
-Doc/howto/functional.rst
Doc/howto/instrumentation.rst
Doc/howto/isolating-extensions.rst
Doc/howto/logging-cookbook.rst
Doc/howto/logging.rst
-Doc/howto/regex.rst
-Doc/howto/sorting.rst
-Doc/howto/unicode.rst
Doc/howto/urllib2.rst
Doc/install/index.rst
Doc/library/__future__.rst
-Doc/library/_thread.rst
Doc/library/abc.rst
Doc/library/ast.rst
Doc/library/asyncio-dev.rst
Doc/library/cmd.rst
Doc/library/code.rst
Doc/library/codecs.rst
-Doc/library/codeop.rst
Doc/library/collections.abc.rst
Doc/library/collections.rst
Doc/library/concurrent.futures.rst
Doc/library/concurrent.rst
Doc/library/configparser.rst
-Doc/library/constants.rst
Doc/library/contextlib.rst
Doc/library/copy.rst
Doc/library/csv.rst