【发布时间】:2010-02-10 17:18:49
【问题描述】:
当我使用自定义__get__ 方法序列化对象列表时,不会调用__get__,而是使用来自__set__ 的原始(未经自定义__get__ 处理)值。 Python 的json 模块如何迭代一个项目?
注意:如果我在序列化之前遍历列表,则使用__get__ 返回的正确值。
【问题讨论】:
-
你能举个例子吗?
-
__get__和__set__方法用于描述符协议,这里似乎并不适用。只有当它们是类的属性,并且您在类或其实例上获取或设置这些属性时才应调用它们。 -
这很有趣,我认为由于在分配值时会调用
__set__,所以在检索时总是会调用__get__。