前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一日一技:简化数据对象的初始化方式

一日一技:简化数据对象的初始化方式

作者头像
青南
发布2019-01-09 16:50:26
3300
发布2019-01-09 16:50:26
举报
文章被收录于专栏:未闻Code未闻Code

使用类来储存数据比使用字典储存数据有诸多的优势,这一点我在我的博客中多次做了说明。

在Python 3.7之前,传统的写法为:

代码语言:javascript
复制
class Person(object):
    name = None
    age = None
    salary = None

kingname = Person()
kingname.name = 'kingname'
kingname.age = '?'
kingname.salary = 9999999

实际上,在Python 3.7之前,可以把上面的代码进一步精简:

代码语言:javascript
复制
class Person2(object):
    def __init__(self, **kwargs):
        self.__dict__.update(kwargs)

kingname = Person2(name='kingname', age='?', salary=9999999)

这两种效果是完全一样的。当然第二种方式也是有弊端的,就是如果类里面的属性太多,你在初始化的时候可能会不记得有哪些属性,如果发生了拼写错误,也难以发觉,同时也不能很好的利用到IDE的自动补全功能。所以请自行权衡取舍。

在Python 3.7以后,官方引入了一个dataclass,写法又更加的简化了。关于

dataclass,我将会单独写一篇播客来介绍。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 未闻Code 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档