使用类来储存数据比使用字典储存数据有诸多的优势,这一点我在我的博客中多次做了说明。
在Python 3.7之前,传统的写法为:
class Person(object):
name = None
age = None
salary = None
kingname = Person()
kingname.name = 'kingname'
kingname.age = '?'
kingname.salary = 9999999
实际上,在Python 3.7之前,可以把上面的代码进一步精简:
class Person2(object):
def __init__(self, **kwargs):
self.__dict__.update(kwargs)
kingname = Person2(name='kingname', age='?', salary=9999999)
这两种效果是完全一样的。当然第二种方式也是有弊端的,就是如果类里面的属性太多,你在初始化的时候可能会不记得有哪些属性,如果发生了拼写错误,也难以发觉,同时也不能很好的利用到IDE的自动补全功能。所以请自行权衡取舍。
在Python 3.7以后,官方引入了一个dataclass,写法又更加的简化了。关于
dataclass,我将会单独写一篇播客来介绍。