メモ その1
こじんメモ
methodを委譲
なんとなくインターフェイスを切らないようにしたい場合
class Factory(object): def hoge(self, str): return str class Test(object): def __init__(self, factory=Factory): self.code = [] self.factory = factory() def _js_func(self, func): def _wrapped_func(*args, **kwargs): result = func(*args, **kwargs) self.code.append(result) return result return _wrapped_func def __getattr__(self, name): f = self._js_func(self.factory.__getattribute__(name)) setattr(self, name, f) return f def __repr__(self): return ",".join(self.code) t = Test() t.hoge('12345') t.hoge('aiueo') print t
まああんまり使うことないかも知れない。
うくく。