首页 > 技术文章 > (面向对象)返回类里面 所有实例化变量的方法,(当实例化变量存在是调用其他类的类变量无法序列化展示的问题)

kaibindirver 2020-05-06 03:38 原文

当使用 json.dumps(books) 无法序列化的时候报如下错误

 

 

解决方法:

json.dumps(books,ensure_ascii=False,default=lambda o:o.__dict__)

 

__dict__的方法是 已字典格式返回 类里所有实例化的变量

如a类

class a():

  def __init__(self):

    self.c=2

    self.x=3

print (a().__dict__)

返回 {c:2,x:3}

 

面向对象,我们可以把类里面的输出存在类里面 然后实例化类去获取类里面的值,那么就不用return了

 

推荐阅读