Pythonのお勉強 Part17
■ このスレッドは過去ログ倉庫に格納されています
0021デフォルトの名無しさん
2007/02/18(日) 02:48:11self.__getattribute__ の中で self._wrapped を取得しようとすると
さらに self.__getattribute__(self, '_wrapped') を呼び出して無限再帰ループになるみたい。
解決方法は・・・たとえば、_wrapped をインスタンス属性としてもつんじゃなくて
クラス属性にインスタンスをキーにした辞書をもつようにするとかでどう?
class wrapper(object):
_wrapped = {}
def __init__(self, obj):
wrapper._wrapped[hash(self)] = obj
def __del__(self):
del wrapper._wrapped[hash(self)]
def __getattribute__(self, attrname):
return getattr(wrapper._wrapped[hash(self)], attrname)
■ このスレッドは過去ログ倉庫に格納されています