1 回答

TA贡献1883条经验 获得超3个赞
您可以Input通过实现该__getattr__()方法将您的类转换为代理,如Container下面的类:
class Example:
def __init__(self):
self.tag_name = 'name'
def foo(self):
return 'foo'
def bar(self, param):
return param
class Container:
def __init__(self, contained):
self.contained = contained
def zoo(self):
return 0
def __getattr__(self, item):
if hasattr(self.contained, item):
return getattr(self.contained,item)
#raise item
c = Container(Example())
print(c.foo())
print(c.bar('BAR'))
print(c.tag_name)
输出:
foo
BAR
name
该类Container现在将任何未知属性访问转发给其contained成员,当然,该成员可能具有也可能没有所需的属性。
添加回答
举报