【问题标题】:Extending weakref proxy/Copying behaviour扩展弱引用代理/复制行为
【发布时间】:2012-06-26 13:52:33
【问题描述】:

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

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

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

【问题讨论】:

    标签: python jython jython-2.5


    【解决方案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
    

    我会满足于只使用一个行为几乎类似于列表的对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多