我有一个对象(objectname),我正在尝试使用objectname获取dict表示。 _ _ dict _ _
对象中嵌入了另一个对象,因此我得到一个“无法编码对象错误” - 这是有道理的
我不希望这个嵌入对象出现在编码的dict中,因为它与该输出无关,但我确实希望将它保留在被编码的对象中,因为它在对象的整个生命周期中都有用。
有没有一种好方法可以在不删除子对象的情况下执行此操作?
答案 0 :(得分:0)
class MyClass(object):
def encode(self):
# this is called a dict comprehension
return {k: v for k, v in self.__dict__.items()
if k != 'thing'}
o = MyClass()
o.x = 1
o.y = 2
o.thing = object()
print(o.encode()) # {'x': 1, 'y': 2}