0

我有一堂课拿着一张桌子(列表列表)。这个类应该返回一个类似于 sql 的行指针。对于这个行指针,我想用weakref.proxy. 但是,我想为行指针添加额外的功能,例如覆盖__getitem__方法以允许通过列名进行访问。

有没有一种简单的方法来获得相同的行为(将对我的对象的访问转换为引用的对象),还是我必须重新实现所有特殊方法?

作为一种简单的方法,我可以考虑继承(但由于我没有找到关于weakref.ProxyType我什至不会尝试继承的文档,(如何初始化?)。另一种选择可能是定义一些特殊方法,甚至总是重定向“特殊” ( __xxx__) 函数调用引用的对象,即使看起来不可能。

4

1 回答 1

0

我研究了一些,发现了这一点:

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

我将满足于只使用一个与列表非常相似的对象。

于 2012-07-05T10:46:37.960 回答