代码

def object2Map(obj:object):
    """对象转Dict"""
    if obj is None:
        return None
    if type(obj) == list:
        return [ object2Map(obj_item) for obj_item in obj]
    if obj.__dict__ is None:
        return obj
    m = {}
    for k in obj.__dict__.keys():
        v = obj.__dict__[k]
        if hasattr(v, "__dict__"):
            m[k] = object2Map(v)
        else:
            m[k] = v
    return m

测试

class Test:
	def __init__(self):
		self.a = 1
		self.b = 2

test = Test()
test.c = Test()
print(object2Map(test))

结果如下:
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐