我正在编写一个小型模拟类来做一些测试。
但是这个类需要支持具有嵌套属性的想法。
这个例子应该提供一些关于这个问题的见解:
class Foo(object):
def __init__(self):
self.x = True
从上面的类,我们可以有:
f = Foo()
f.x
我知道我可以添加回退__getattr__
的属性以避免出现 AttributeError,但是如果我需要这样的东西是有效的怎么办:
f = Foo()
f.x
f.x.y
f.x.y.z()
如果对象被调用,我知道要返回什么,f.x.y.z()
但我只需要找到一种方法来实现z()
它是有意义的。