You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以Pythonic方式实现返回类实例变量为字典的方法

最优解法

直接使用Python内置的vars()函数即可,这是最符合Python风格的实现方式,不需要硬编码任何属性名:

class P1(object):
    def __init__(self,value=0,src='admin'):
        self.value=value
        self.src=src
    
    def getDict(self):
        return vars(self)

效果验证

调用示例:

ins = P1()
print(ins.getDict())

输出结果完全符合要求:

{'value': 0, 'src': 'admin'}

补充说明

  • vars(self)的本质是返回实例的__dict__内置属性,直接写return self.__dict__也可以实现相同效果,不过vars()的可读性更强,更推荐使用。
  • 后续如果给类新增了其他实例属性,这个方法不需要做任何修改,会自动将所有实例属性纳入返回的字典中。
  • 仅当类定义了__slots__且未显式声明__dict__的场景下,该方法不适用,这种特殊场景才需要手动维护属性列表。

内容的提问来源于stack exchange,提问作者Max

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:45:06