mirror of
https://github.com/python/cpython.git
synced 2025-10-17 12:18:23 +00:00
Issue #19190: Improve cross-references in builtin types and functions documentation.
This commit is contained in:
commit
0d85b5c68d
5 changed files with 100 additions and 91 deletions
|
@ -219,8 +219,8 @@ are always available. They are listed here in alphabetical order.
|
|||
|
||||
Future statements are specified by bits which can be bitwise ORed together to
|
||||
specify multiple statements. The bitfield required to specify a given feature
|
||||
can be found as the :attr:`compiler_flag` attribute on the :class:`_Feature`
|
||||
instance in the :mod:`__future__` module.
|
||||
can be found as the :attr:`~__future__._Feature.compiler_flag` attribute on
|
||||
the :class:`~__future__._Feature` instance in the :mod:`__future__` module.
|
||||
|
||||
The argument *optimize* specifies the optimization level of the compiler; the
|
||||
default value of ``-1`` selects the optimization level of the interpreter as
|
||||
|
@ -717,7 +717,7 @@ are always available. They are listed here in alphabetical order.
|
|||
|
||||
One useful application of the second form of :func:`iter` is to read lines of
|
||||
a file until a certain line is reached. The following example reads a file
|
||||
until the :meth:`readline` method returns an empty string::
|
||||
until the :meth:`~io.TextIOBase.readline` method returns an empty string::
|
||||
|
||||
with open('mydata.txt') as fp:
|
||||
for line in iter(fp.readline, ''):
|
||||
|
@ -826,8 +826,8 @@ are always available. They are listed here in alphabetical order.
|
|||
|
||||
.. note::
|
||||
|
||||
:class:`object` does *not* have a :attr:`__dict__`, so you can't assign
|
||||
arbitrary attributes to an instance of the :class:`object` class.
|
||||
:class:`object` does *not* have a :attr:`~object.__dict__`, so you can't
|
||||
assign arbitrary attributes to an instance of the :class:`object` class.
|
||||
|
||||
|
||||
.. function:: oct(x)
|
||||
|
@ -905,9 +905,9 @@ are always available. They are listed here in alphabetical order.
|
|||
size" and falling back on :attr:`io.DEFAULT_BUFFER_SIZE`. On many systems,
|
||||
the buffer will typically be 4096 or 8192 bytes long.
|
||||
|
||||
* "Interactive" text files (files for which :meth:`isatty` returns True) use
|
||||
line buffering. Other text files use the policy described above for binary
|
||||
files.
|
||||
* "Interactive" text files (files for which :meth:`~io.IOBase.isatty`
|
||||
returns True) use line buffering. Other text files use the policy
|
||||
described above for binary files.
|
||||
|
||||
*encoding* is the name of the encoding used to decode or encode the file.
|
||||
This should only be used in text mode. The default encoding is platform
|
||||
|
@ -1115,10 +1115,10 @@ are always available. They are listed here in alphabetical order.
|
|||
turns the :meth:`voltage` method into a "getter" for a read-only attribute
|
||||
with the same name.
|
||||
|
||||
A property object has :attr:`getter`, :attr:`setter`, and :attr:`deleter`
|
||||
methods usable as decorators that create a copy of the property with the
|
||||
corresponding accessor function set to the decorated function. This is
|
||||
best explained with an example::
|
||||
A property object has :attr:`~property.getter`, :attr:`~property.setter`,
|
||||
and :attr:`~property.deleter` methods usable as decorators that create a
|
||||
copy of the property with the corresponding accessor function set to the
|
||||
decorated function. This is best explained with an example::
|
||||
|
||||
class C:
|
||||
def __init__(self):
|
||||
|
@ -1224,13 +1224,13 @@ are always available. They are listed here in alphabetical order.
|
|||
|
||||
Return a :term:`slice` object representing the set of indices specified by
|
||||
``range(start, stop, step)``. The *start* and *step* arguments default to
|
||||
``None``. Slice objects have read-only data attributes :attr:`start`,
|
||||
:attr:`stop` and :attr:`step` which merely return the argument values (or their
|
||||
default). They have no other explicit functionality; however they are used by
|
||||
Numerical Python and other third party extensions. Slice objects are also
|
||||
generated when extended indexing syntax is used. For example:
|
||||
``a[start:stop:step]`` or ``a[start:stop, i]``. See :func:`itertools.islice`
|
||||
for an alternate version that returns an iterator.
|
||||
``None``. Slice objects have read-only data attributes :attr:`~slice.start`,
|
||||
:attr:`~slice.stop` and :attr:`~slice.step` which merely return the argument
|
||||
values (or their default). They have no other explicit functionality;
|
||||
however they are used by Numerical Python and other third party extensions.
|
||||
Slice objects are also generated when extended indexing syntax is used. For
|
||||
example: ``a[start:stop:step]`` or ``a[start:stop, i]``. See
|
||||
:func:`itertools.islice` for an alternate version that returns an iterator.
|
||||
|
||||
|
||||
.. function:: sorted(iterable[, key][, reverse])
|
||||
|
@ -1310,9 +1310,10 @@ are always available. They are listed here in alphabetical order.
|
|||
been overridden in a class. The search order is same as that used by
|
||||
:func:`getattr` except that the *type* itself is skipped.
|
||||
|
||||
The :attr:`__mro__` attribute of the *type* lists the method resolution
|
||||
search order used by both :func:`getattr` and :func:`super`. The attribute
|
||||
is dynamic and can change whenever the inheritance hierarchy is updated.
|
||||
The :attr:`~class.__mro__` attribute of the *type* lists the method
|
||||
resolution search order used by both :func:`getattr` and :func:`super`. The
|
||||
attribute is dynamic and can change whenever the inheritance hierarchy is
|
||||
updated.
|
||||
|
||||
If the second argument is omitted, the super object returned is unbound. If
|
||||
the second argument is an object, ``isinstance(obj, type)`` must be true. If
|
||||
|
@ -1375,7 +1376,8 @@ are always available. They are listed here in alphabetical order.
|
|||
|
||||
|
||||
With one argument, return the type of an *object*. The return value is a
|
||||
type object and generally the same object as returned by ``object.__class__``.
|
||||
type object and generally the same object as returned by
|
||||
:attr:`object.__class__ <instance.__class__>`.
|
||||
|
||||
The :func:`isinstance` built-in function is recommended for testing the type
|
||||
of an object, because it takes subclasses into account.
|
||||
|
@ -1383,11 +1385,11 @@ are always available. They are listed here in alphabetical order.
|
|||
|
||||
With three arguments, return a new type object. This is essentially a
|
||||
dynamic form of the :keyword:`class` statement. The *name* string is the
|
||||
class name and becomes the :attr:`__name__` attribute; the *bases* tuple
|
||||
itemizes the base classes and becomes the :attr:`__bases__` attribute;
|
||||
and the *dict* dictionary is the namespace containing definitions for class
|
||||
body and becomes the :attr:`__dict__` attribute. For example, the
|
||||
following two statements create identical :class:`type` objects:
|
||||
class name and becomes the :attr:`~class.__name__` attribute; the *bases*
|
||||
tuple itemizes the base classes and becomes the :attr:`~class.__bases__`
|
||||
attribute; and the *dict* dictionary is the namespace containing definitions
|
||||
for class body and becomes the :attr:`~object.__dict__` attribute. For
|
||||
example, the following two statements create identical :class:`type` objects:
|
||||
|
||||
>>> class X:
|
||||
... a = 1
|
||||
|
@ -1399,7 +1401,7 @@ are always available. They are listed here in alphabetical order.
|
|||
|
||||
.. function:: vars([object])
|
||||
|
||||
Return the :attr:`__dict__` attribute for a module, class, instance,
|
||||
Return the :attr:`~object.__dict__` attribute for a module, class, instance,
|
||||
or any other object with a :attr:`__dict__` attribute.
|
||||
|
||||
Objects such as modules and instances have an updateable :attr:`__dict__`
|
||||
|
|
|
@ -339,8 +339,8 @@ Notes:
|
|||
pair: C; language
|
||||
|
||||
Conversion from floating point to integer may round or truncate
|
||||
as in C; see functions :func:`floor` and :func:`ceil` in the :mod:`math` module
|
||||
for well-defined conversions.
|
||||
as in C; see functions :func:`math.floor` and :func:`math.ceil` for
|
||||
well-defined conversions.
|
||||
|
||||
(4)
|
||||
float also accepts the strings "nan" and "inf" with an optional prefix "+"
|
||||
|
@ -631,7 +631,7 @@ efficiency across a variety of numeric types (including :class:`int`,
|
|||
:class:`float`, :class:`decimal.Decimal` and :class:`fractions.Fraction`)
|
||||
Python's hash for numeric types is based on a single mathematical function
|
||||
that's defined for any rational number, and hence applies to all instances of
|
||||
:class:`int` and :class:`fraction.Fraction`, and all finite instances of
|
||||
:class:`int` and :class:`fractions.Fraction`, and all finite instances of
|
||||
:class:`float` and :class:`decimal.Decimal`. Essentially, this function is
|
||||
given by reduction modulo ``P`` for a fixed prime ``P``. The value of ``P`` is
|
||||
made available to Python as the :attr:`modulus` attribute of
|
||||
|
@ -1303,7 +1303,7 @@ The advantage of the :class:`range` type over a regular :class:`list` or
|
|||
only stores the ``start``, ``stop`` and ``step`` values, calculating individual
|
||||
items and subranges as needed).
|
||||
|
||||
Range objects implement the :class:`collections.Sequence` ABC, and provide
|
||||
Range objects implement the :class:`collections.abc.Sequence` ABC, and provide
|
||||
features such as containment tests, element index lookup, slicing and
|
||||
support for negative indices (see :ref:`typesseq`):
|
||||
|
||||
|
@ -1326,9 +1326,9 @@ support for negative indices (see :ref:`typesseq`):
|
|||
Testing range objects for equality with ``==`` and ``!=`` compares
|
||||
them as sequences. That is, two range objects are considered equal if
|
||||
they represent the same sequence of values. (Note that two range
|
||||
objects that compare equal might have different :attr:`start`,
|
||||
:attr:`stop` and :attr:`step` attributes, for example ``range(0) ==
|
||||
range(2, 1, 3)`` or ``range(0, 3, 2) == range(0, 4, 2)``.)
|
||||
objects that compare equal might have different :attr:`~range.start`,
|
||||
:attr:`~range.stop` and :attr:`~range.step` attributes, for example
|
||||
``range(0) == range(2, 1, 3)`` or ``range(0, 3, 2) == range(0, 4, 2)``.)
|
||||
|
||||
.. versionchanged:: 3.2
|
||||
Implement the Sequence ABC.
|
||||
|
@ -1342,7 +1342,8 @@ range(2, 1, 3)`` or ``range(0, 3, 2) == range(0, 4, 2)``.)
|
|||
object identity).
|
||||
|
||||
.. versionadded:: 3.3
|
||||
The :attr:`start`, :attr:`stop` and :attr:`step` attributes.
|
||||
The :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step`
|
||||
attributes.
|
||||
|
||||
|
||||
.. index::
|
||||
|
@ -2298,7 +2299,7 @@ in the range 0 to 255 (inclusive) as well as bytes and byte array sequences.
|
|||
(inclusive) as their first argument.
|
||||
|
||||
|
||||
Each bytes and bytearray instance provides a :meth:`decode` convenience
|
||||
Each bytes and bytearray instance provides a :meth:`~bytes.decode` convenience
|
||||
method that is the inverse of :meth:`str.encode`:
|
||||
|
||||
.. method:: bytes.decode(encoding="utf-8", errors="strict")
|
||||
|
@ -2809,11 +2810,11 @@ other sequence-like behavior.
|
|||
|
||||
There are currently two built-in set types, :class:`set` and :class:`frozenset`.
|
||||
The :class:`set` type is mutable --- the contents can be changed using methods
|
||||
like :meth:`add` and :meth:`remove`. Since it is mutable, it has no hash value
|
||||
and cannot be used as either a dictionary key or as an element of another set.
|
||||
The :class:`frozenset` type is immutable and :term:`hashable` --- its contents cannot be
|
||||
altered after it is created; it can therefore be used as a dictionary key or as
|
||||
an element of another set.
|
||||
like :meth:`~set.add` and :meth:`~set.remove`. Since it is mutable, it has no
|
||||
hash value and cannot be used as either a dictionary key or as an element of
|
||||
another set. The :class:`frozenset` type is immutable and :term:`hashable` ---
|
||||
its contents cannot be altered after it is created; it can therefore be used as
|
||||
a dictionary key or as an element of another set.
|
||||
|
||||
Non-empty sets (not frozensets) can be created by placing a comma-separated list
|
||||
of elements within braces, for example: ``{'jack', 'sjoerd'}``, in addition to the
|
||||
|
@ -3354,12 +3355,12 @@ statement is not, strictly speaking, an operation on a module object; ``import
|
|||
foo`` does not require a module object named *foo* to exist, rather it requires
|
||||
an (external) *definition* for a module named *foo* somewhere.)
|
||||
|
||||
A special attribute of every module is :attr:`__dict__`. This is the dictionary
|
||||
containing the module's symbol table. Modifying this dictionary will actually
|
||||
change the module's symbol table, but direct assignment to the :attr:`__dict__`
|
||||
attribute is not possible (you can write ``m.__dict__['a'] = 1``, which defines
|
||||
``m.a`` to be ``1``, but you can't write ``m.__dict__ = {}``). Modifying
|
||||
:attr:`__dict__` directly is not recommended.
|
||||
A special attribute of every module is :attr:`~object.__dict__`. This is the
|
||||
dictionary containing the module's symbol table. Modifying this dictionary will
|
||||
actually change the module's symbol table, but direct assignment to the
|
||||
:attr:`__dict__` attribute is not possible (you can write
|
||||
``m.__dict__['a'] = 1``, which defines ``m.a`` to be ``1``, but you can't write
|
||||
``m.__dict__ = {}``). Modifying :attr:`__dict__` directly is not recommended.
|
||||
|
||||
Modules built into the interpreter are written like this: ``<module 'sys'
|
||||
(built-in)>``. If loaded from a file, they are written as ``<module 'os' from
|
||||
|
@ -3594,7 +3595,7 @@ types, where they are relevant. Some of these are not reported by the
|
|||
|
||||
This method can be overridden by a metaclass to customize the method
|
||||
resolution order for its instances. It is called at class instantiation, and
|
||||
its result is stored in :attr:`__mro__`.
|
||||
its result is stored in :attr:`~class.__mro__`.
|
||||
|
||||
|
||||
.. method:: class.__subclasses__
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue