项目中用了一个上下文类,用于存储本次请求的一些数据,在开发过程中我想把这个上下文类dump成json,详细分析里面的数据,然而发现上下文类的行为不符合预期

所以可以断定,此处的property工作不正常。

仔细看代码后,我发现Context是旧式类。可以看到,A B C三中类的写法,其中A和B都是旧式类 C是新式类。(旧式类只在Python2中存在)。

我们这里Context的写法和B是一样的。

然后自然就怀疑旧式类对property装饰器的支持存在问题。

一通google之后,确定旧式类是不支持property。

确切地说,是对property的支持不完整,具体来说有以下3点。