2012-06-26 119 views
0

我有一個類持有一個表(列表的列表)。這個類應該返回一個類似於sql的rowpointer。對於這一行指針,我想用weakref.proxy引用錶行(列表)。不過,我想爲行指針添加額外的功能,例如覆蓋__getitem__方法以允許通過列名進行訪問。有沒有一種簡單的方法來獲得相同的行爲(將對象的訪問權轉換爲引用的對象),還是我必須重新實現所有特殊的方法?擴展weakref代理/複製行爲

作爲一種簡單的方法,我可以想到繼承(但因爲我沒有找到weakref.ProxyType上的文檔,我甚至不會嘗試從那個繼承,(如何初始化?)。另一個選項可能是定義一些特殊的方法,甚至始終重定向「特殊」(__xxx__)函數調用的引用的對象,即使this品牌似乎不可能

回答

0

Iresearched多一些,發現了這一點:

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

因此,在短期,一個可以轉接所有來電(我想在活躍狀態recipi更好),但我還沒有找到一種方法來實現:

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

我會滿足於僅僅與對象的工作至極漂亮很像表格。