Ale*_*x K 2 python design-patterns wrapper
我希望能够在Python中包装任何对象.以下似乎不可能,你知道为什么吗?
class Wrapper:
def wrap(self, obj):
self = obj
a = list()
b = Wrapper().wrap(a)
# can't do b.append
Run Code Online (Sandbox Code Playgroud)
谢谢!
尝试使用getattr python魔术:
class Wrapper:
def wrap(self, obj):
self.obj = obj
def __getattr__(self, name):
return getattr(self.obj, name)
a = list()
b = Wrapper()
b.wrap(a)
b.append(10)
Run Code Online (Sandbox Code Playgroud)