このモジュールは、 いわゆる 浅いコピーと深いコピーの演算を提供します。
インターフェース概要:
import copy x = copy.copy(y) # yの浅いコピーを作成 x = copy.deepcopy(y) # yの深いコピーを作成
浅いコピーと深いコピーの違いは、複合オブジェクト (リストやクラスインスタンスのように、 他のオブジェクトを持っているオブジェクト)をコピーする場合に 影響します。
浅いコピーにはなくて深いコピーにだけにある問題が2つあります。
パイソンのdeepcopy()操作はこれらの問題を以下の方法で回避しています。
このバージョンはモジュール、クラス、関数、メソッド、またはスタックトレース、 スタックフレーム、またはファイル、ソケット、ウインドウ、または配列、または その他似たようなタイプはコピーしません。
クラスはピクルを制御するために使うのと同じインタフェースをコピーを制御 するために使うことが出来ます。 それらは__getinitargs__(), __getstate__()と __setstate__()というメソッドで定義されています。 これらのメソッドに関する情報はモジュールpickleの説明を参照して下さい。
guido@python.org