Python __dict__和vars()

本文介绍了一种利用Python内置方法__dict__和vars简化对象创建及转换为字典的方法。通过__dict__可以快速将字典转换为对象属性,而vars则能轻松实现对象到字典的转换,极大提高了开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 __dict__

设想这样一个场景。有一个字典,从某个地方获取的,比如http请求发过来的,比如从redis中hgetall出来的。我要根据这个字典来构建一个对象。

比如类

class Person:

    def __init__(self,_obj):

        self.name = _obj['name']

        self.age = _obj['age']

 

利用__dict__的特性,上面的类可以用如下的代替,代码量大大减少:

class Person:

    def __init__(self,_obj):

        self.__dict__.update(_obj)

 

2 vars()

p1 = Person( {"name": "sysnap", "age": 21, "sub": {"1":1, "2":2} } )

那如果通过这个实例把数据转为dict呢,答案就是用vars函数,

xxx = vars( p1 )
print ( xxx )

{'age': 21, 'name': 'sysnap', 'sub': {'1': 1, '2': 2}}

 

转载于:https://www.cnblogs.com/sysnap/p/6593792.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值