今天同事反馈说我写的一个基础库有一个bug,大概就是自己写的类明明有属性foo,但会抛个类似下边的异常出来,
AttributeError: 'A' object has no attribute 'foo'
这很让人困惑啊,因为抛出异常的函数是基类的__getattr__()方法,所以他就找我来解决了。
我看代码也是一脸懵,这个foo就摆在那里,这个bug给了我一个眼见不为实的错觉,一时找不到方向。突然我发现这个foo上面顶着个@property的帽子(装饰器),咦,会不会和这个有关系呢?于是搜索一下,就