# 3.16 `copy_reg` -- `pickle`サポート関数を登録する

`copy_reg`モジュールは`pickle` と`cPickle` モジュールに対するサポートを提供します。その上、`copy` モジュールは将来これをつかう可能性が高いです。クラスでないオブジェクトコンストラクタについての設定情報を提供します。このようなコンストラクタはファクトリ関数か、またはクラスインスタンスでしょう。

`constructor`( | object)

  objectを有効なコンストラクタであると宣言します。objectが呼び出し可能でなければ(そして、それゆえコンストラクタとして有効でないならば)、`TypeError`を発生します。

`pickle`( | type, function[, constructor])

  functionが型typeのオブジェクトに対する``リダクション''関数として使うことを宣言します。typeは``標準的な''クラスオブジェクトであってはいけません。(標準的なクラスは異なった扱われ方をします。詳細は、`pickle`モジュールのドキュメンテーションを参照してください。) functionは文字列または二ないし三つの要素を含むタプルです。

  オプションのconstructorパラメータが与えられた場合は、ピクルス化時にfunctionが返した引数のタプルとともによびだされたときにオブジェクトを再構築するために使われ得る呼び出し可能オブジェクトです。objectがクラスであるか、またはconstructorが呼び出し可能でない場合に、`TypeError`を発生します。

  functionとconstructorの求められるインターフェイスについての詳細は、`pickle`モジュールを参照してください。