summaryrefslogtreecommitdiffstats
path: root/Doc/libcopy.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/libcopy.tex')
-rw-r--r--Doc/libcopy.tex82
1 files changed, 0 insertions, 82 deletions
diff --git a/Doc/libcopy.tex b/Doc/libcopy.tex
deleted file mode 100644
index 4e43585..0000000
--- a/Doc/libcopy.tex
+++ /dev/null
@@ -1,82 +0,0 @@
-\section{Standard Module \module{copy}}
-\label{module-copy}
-\stmodindex{copy}
-\setindexsubitem{(copy function)}
-\ttindex{copy}
-\ttindex{deepcopy}
-
-This module provides generic (shallow and deep) copying operations.
-
-Interface summary:
-
-\begin{verbatim}
-import copy
-
-x = copy.copy(y) # make a shallow copy of y
-x = copy.deepcopy(y) # make a deep copy of y
-\end{verbatim}
-%
-For module specific errors, \code{copy.error} is raised.
-
-The difference between shallow and deep copying is only relevant for
-compound objects (objects that contain other objects, like lists or
-class instances):
-
-\begin{itemize}
-
-\item
-A \emph{shallow copy} constructs a new compound object and then (to the
-extent possible) inserts \emph{references} into it to the objects found
-in the original.
-
-\item
-A \emph{deep copy} constructs a new compound object and then,
-recursively, inserts \emph{copies} into it of the objects found in the
-original.
-
-\end{itemize}
-
-Two problems often exist with deep copy operations that don't exist
-with shallow copy operations:
-
-\begin{itemize}
-
-\item
-Recursive objects (compound objects that, directly or indirectly,
-contain a reference to themselves) may cause a recursive loop.
-
-\item
-Because deep copy copies \emph{everything} it may copy too much, e.g.\
-administrative data structures that should be shared even between
-copies.
-
-\end{itemize}
-
-Python's \code{deepcopy()} operation avoids these problems by:
-
-\begin{itemize}
-
-\item
-keeping a table of objects already copied during the current
-copying pass; and
-
-\item
-letting user-defined classes override the copying operation or the
-set of components copied.
-
-\end{itemize}
-
-This version does not copy types like module, class, function, method,
-nor stack trace, stack frame, nor file, socket, window, nor array, nor
-any similar types.
-
-Classes can use the same interfaces to control copying that they use
-to control pickling: they can define methods called
-\code{__getinitargs__()}, \code{__getstate__()} and
-\code{__setstate__()}. See the description of module \code{pickle}
-for information on these methods.
-\refstmodindex{pickle}
-\setindexsubitem{(copy protocol)}
-\ttindex{__getinitargs__}
-\ttindex{__getstate__}
-\ttindex{__setstate__}