> **Источник:** https://python-all.ru/3.0/library/copyreg.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# `copyreg` – функции поддержки [`pickle`](https://python-all.ru/3.0/library/pickle.html#module-pickle)

Модуль `copyreg` предоставляет поддержку для модулей [`pickle`](https://python-all.ru/3.0/library/pickle.html#module-pickle) и `cPickle`. Модуль [`copy`](https://python-all.ru/3.0/library/copy.html#module-copy), скорее всего, также будет использовать его в будущем. Он предоставляет информацию о конфигурации конструкторов объектов, которые не являются классами. Такие конструкторы могут быть фабричными функциями или экземплярами классов.

#### `[copyreg.constructor]copyreg.constructor(object)`

Объявляет

*object*

допустимым конструктором. Если

*object*

не является вызываемым (и, следовательно, недопустим в качестве конструктора), возбуждает

[`TypeError`](https://python-all.ru/3.0/library/exceptions.html#exceptions.TypeError)

.

#### `[copyreg.pickle]copyreg.pickle(type, function[, constructor])`

Объявляет, что *function* должна использоваться как функция редукции (reduction) для объектов типа *тип*. *функция* должна возвращать строку или кортеж, содержащий два или три элемента.

Необязательный параметр *constructor*, если указан, представляет собой вызываемый объект, который можно использовать для восстановления объекта при вызове с кортежем аргументов, возвращаемых *function* во время упаковки. [`TypeError`](https://python-all.ru/3.0/library/exceptions.html#exceptions.TypeError) будет возбуждено, если *object* является классом или *constructor* не является вызываемым.

Смотрите модуль [`pickle`](https://python-all.ru/3.0/library/pickle.html#module-pickle) для получения дополнительных сведений об интерфейсе, ожидаемом от *function* и *constructor*.
