mirror of
https://github.com/python/cpython.git
synced 2025-12-31 12:33:28 +00:00
gh-109961: Docs: Fix incorrect rendering of __replace__ in copy.rst (#109968)
This commit is contained in:
parent
8f324b7ecd
commit
0baf72696e
2 changed files with 21 additions and 13 deletions
|
|
@ -88,13 +88,22 @@ pickle functions from the :mod:`copyreg` module.
|
|||
single: __deepcopy__() (copy protocol)
|
||||
|
||||
In order for a class to define its own copy implementation, it can define
|
||||
special methods :meth:`__copy__` and :meth:`__deepcopy__`. The former is called
|
||||
to implement the shallow copy operation; no additional arguments are passed.
|
||||
The latter is called to implement the deep copy operation; it is passed one
|
||||
argument, the ``memo`` dictionary. If the :meth:`__deepcopy__` implementation needs
|
||||
to make a deep copy of a component, it should call the :func:`deepcopy` function
|
||||
with the component as first argument and the memo dictionary as second argument.
|
||||
The memo dictionary should be treated as an opaque object.
|
||||
special methods :meth:`~object.__copy__` and :meth:`~object.__deepcopy__`.
|
||||
|
||||
.. method:: object.__copy__(self)
|
||||
:noindexentry:
|
||||
|
||||
Called to implement the shallow copy operation;
|
||||
no additional arguments are passed.
|
||||
|
||||
.. method:: object.__deepcopy__(self, memo)
|
||||
:noindexentry:
|
||||
|
||||
Called to implement the deep copy operation; it is passed one
|
||||
argument, the *memo* dictionary. If the ``__deepcopy__`` implementation needs
|
||||
to make a deep copy of a component, it should call the :func:`deepcopy` function
|
||||
with the component as first argument and the *memo* dictionary as second argument.
|
||||
The *memo* dictionary should be treated as an opaque object.
|
||||
|
||||
|
||||
.. index::
|
||||
|
|
@ -102,13 +111,13 @@ The memo dictionary should be treated as an opaque object.
|
|||
|
||||
Function :func:`replace` is more limited than :func:`copy` and :func:`deepcopy`,
|
||||
and only supports named tuples created by :func:`~collections.namedtuple`,
|
||||
:mod:`dataclasses`, and other classes which define method :meth:`!__replace__`.
|
||||
:mod:`dataclasses`, and other classes which define method :meth:`~object.__replace__`.
|
||||
|
||||
.. method:: __replace__(self, /, **changes)
|
||||
:noindex:
|
||||
.. method:: object.__replace__(self, /, **changes)
|
||||
:noindexentry:
|
||||
|
||||
:meth:`!__replace__` should create a new object of the same type,
|
||||
replacing fields with values from *changes*.
|
||||
This method should create a new object of the same type,
|
||||
replacing fields with values from *changes*.
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
|
|
|||
|
|
@ -48,7 +48,6 @@ Doc/library/collections.rst
|
|||
Doc/library/concurrent.futures.rst
|
||||
Doc/library/configparser.rst
|
||||
Doc/library/contextlib.rst
|
||||
Doc/library/copy.rst
|
||||
Doc/library/csv.rst
|
||||
Doc/library/datetime.rst
|
||||
Doc/library/dbm.rst
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue