我正在尝试实现一个类,其中尝试访问当前类或其任何祖先中不存在的任何属性将尝试从成员访问这些属性。下面是我正在尝试做的一个简单的版本。
class Foo:
def __init__(self, value):
self._value = value
def __getattr__(self, name):
return getattr(self._value, name)
if __name__ == '__main__':
print(Foo(5) > Foo(4)) # should do 5 > 4 (or (5).__gt__(4))
但是,这会引发TypeError
. 即使使用operator
模块的attrgetter
类也会做同样的事情。我正在查看有关自定义属性访问的文档,但我发现它并不容易阅读。我怎样才能解决这个问题?