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成員,當然,該成員可能具有也可能沒有所需的屬性。
添加回答
舉報