# Copyright (C) 2001-2018, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-10 00:49+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/copy.rst:2 msgid ":mod:`copy` --- Shallow and deep copy operations" msgstr "" #: ../Doc/library/copy.rst:7 msgid "**Source code:** :source:`Lib/copy.py`" msgstr "" #: ../Doc/library/copy.rst:11 msgid "" "Assignment statements in Python do not copy objects, they create bindings " "between a target and an object. For collections that are mutable or contain " "mutable items, a copy is sometimes needed so one can change one copy without " "changing the other. This module provides generic shallow and deep copy " "operations (explained below)." msgstr "" #: ../Doc/library/copy.rst:18 msgid "Interface summary:" msgstr "" #: ../Doc/library/copy.rst:22 msgid "Return a shallow copy of *x*." msgstr "" #: ../Doc/library/copy.rst:27 msgid "Return a deep copy of *x*." msgstr "" #: ../Doc/library/copy.rst:32 msgid "Raised for module specific errors." msgstr "" #: ../Doc/library/copy.rst:35 msgid "" "The difference between shallow and deep copying is only relevant for " "compound objects (objects that contain other objects, like lists or class " "instances):" msgstr "" #: ../Doc/library/copy.rst:38 msgid "" "A *shallow copy* constructs a new compound object and then (to the extent " "possible) inserts *references* into it to the objects found in the original." msgstr "" #: ../Doc/library/copy.rst:41 msgid "" "A *deep copy* constructs a new compound object and then, recursively, " "inserts *copies* into it of the objects found in the original." msgstr "" #: ../Doc/library/copy.rst:44 msgid "" "Two problems often exist with deep copy operations that don't exist with " "shallow copy operations:" msgstr "" #: ../Doc/library/copy.rst:47 msgid "" "Recursive objects (compound objects that, directly or indirectly, contain a " "reference to themselves) may cause a recursive loop." msgstr "" #: ../Doc/library/copy.rst:50 msgid "" "Because deep copy copies everything it may copy too much, such as data which " "is intended to be shared between copies." msgstr "" #: ../Doc/library/copy.rst:53 msgid "The :func:`deepcopy` function avoids these problems by:" msgstr "" #: ../Doc/library/copy.rst:55 msgid "" "keeping a \"memo\" dictionary of objects already copied during the current " "copying pass; and" msgstr "" #: ../Doc/library/copy.rst:58 msgid "" "letting user-defined classes override the copying operation or the set of " "components copied." msgstr "" #: ../Doc/library/copy.rst:61 msgid "" "This module does not copy types like module, method, stack trace, stack " "frame, file, socket, window, array, 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." msgstr "" #: ../Doc/library/copy.rst:66 msgid "" "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[:]``." msgstr "" #: ../Doc/library/copy.rst:72 msgid "" "Classes can use the same interfaces to control copying that they use to " "control pickling. See the description of module :mod:`pickle` for " "information on these methods. In fact, the :mod:`copy` module uses the " "registered pickle functions from the :mod:`copyreg` module." msgstr "" #: ../Doc/library/copy.rst:81 msgid "" "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." msgstr "" #: ../Doc/library/copy.rst:93 msgid "Module :mod:`pickle`" msgstr "" #: ../Doc/library/copy.rst:93 msgid "" "Discussion of the special methods used to support object state retrieval and " "restoration." msgstr ""