使用类来储存数据比使用字典储存数据有诸多的优势

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

  1. class Person(object):

  2.    name = None

  3.    age = None

  4.    salary = None

  5.  

  6. kingname = Person()

  7. kingname.name = 'kingname'

  8. kingname.age = '?'

  9. kingname.salary = 9999999

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

  1. class Person2(object):

  2.    def __init__(self, **kwargs):

  3.        self.__dict__.update(kwargs)

  4.  

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

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

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

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