Документы Python много говорят об этом слове, и я хочу знать, что это значит! Googling не очень помогает.
Что это означает, что объект может быть сорван (или маринован)?
Ответ 1
Это просто означает, что он может быть сериализован модулем pickle
. Для основного объяснения этого см. Что можно мариновать и рассыпать?. Протокол рассола предоставляет более подробную информацию и показывает, как классы могут настраивать процесс.
Ответ 2
Вещи, которые обычно не подбираются, это, например, сокеты, файл (обработчик) s, подключения к базе данных и т.д. Все, что создается (рекурсивно) из основных типов python (диктов, списков, примитивов, объектов, ссылок на объекты и даже круговых), можно помачивать по умолчанию.
Вы можете реализовать специальный травильный код, который, например, сохранит конфигурацию подключения к базе данных и восстановит его впоследствии, но для этого вам понадобится специальная, настраиваемая логика.
Все это делает травление намного мощнее, чем xml, json и yaml (но определенно не так читается)