]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-150636: Clarify difference between copy.copy() and the copy() methods ...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 31 May 2026 12:15:28 +0000 (14:15 +0200)
committerGitHub <noreply@github.com>
Sun, 31 May 2026 12:15:28 +0000 (12:15 +0000)
(cherry picked from commit 1de909b32411fc1c4d4c42b4f8221b86096c6353)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
Co-authored-by: Stan Ulbrych <stan@python.org>
Doc/library/copy.rst

index 210ad7188003e66b324bd01700c974373b0e7708..9a0772de509a5a8422eb4111a7cd95bdc04f233b 100644 (file)
@@ -72,9 +72,13 @@ file, socket, window, or any similar types.  It does "copy" functions and
 classes (shallow and deeply), by returning the original object unchanged; this
 is compatible with the way these are treated by the :mod:`pickle` module.
 
-Shallow copies of dictionaries can be made using :meth:`dict.copy`, and
-of lists by assigning a slice of the entire list, for example,
-``copied_list = original_list[:]``.
+Shallow copies of many collections can be made using the corresponding
+:meth:`!copy` method (such as :meth:`list.copy`, :meth:`dict.copy` or
+:meth:`set.copy`), and of sequences (such as lists or bytearrays) by making
+a slice of the entire sequence (``sequence[:]``).
+However, these methods and slicing can create an instance of the base type
+when copying an instance of a subclass, whereas :func:`copy.copy` normally
+returns an instance of the same type.
 
 .. index:: pair: module; pickle