Расширение слабого прокси / Копирование

У меня есть класс с таблицей (список списков). Этот класс должен возвращать указатель строки, похожий на sql. Для этого указателя строки я хотел бы на неделю ссылаться на строку таблицы (список) с weakref.proxy, Тем не менее, я хотел бы добавить дополнительные возможности для указателя строки, например перезаписать __getitem__ метод, позволяющий доступ через, скажем, имена столбцов.

Есть ли простой способ получить такое же поведение (перевод доступа к моему объекту к объекту, на который ссылаются), или мне нужно переопределить все специальные методы?

Как простой способ я мог думать о наследовании (но так как я не нашел документ о weakref.ProxyType Я даже не буду пытаться унаследовать от этого (как инициировать?). Другим вариантом может быть определение какого-то специального метода даже для того, чтобы всегда перенаправлять "специальный" (__xxx__) вызовы функций для упомянутого объекта, даже если это делает это невозможным.

1 ответ

Решение

Я исследовал еще немного и узнал это:

http://code.activestate.com/recipes/496741-object-proxying/ http://pypi.python.org/pypi/ProxyTypes

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

$a = proxy([1,2,3])
$b = a
$print type(b)   
>>list

Я остановлюсь только на работе с объектом, который в значительной степени ведет себя как список.

Другие вопросы по тегам