1.为什么需要数据类
1.1 ☹️内置数据类型的局限
假设我们现在遇到一个场景, 需要一个数据对象来保存一些运动员信息.
可以选择使用基本的数据类型tuple或者dict实现. 如:创建一个球员jordan, 信息包括球员姓名, 号码, 位置, 年龄.
使用tuple
In [1]: jordan = ('Micheal Jordan', 23, 'PG', 29)
In [2]: jordan[0]
Out[2]: 'Micheal Jordan'
劣势: 创建和取值基于位置, 需要记住坐标对应的信息.
使用dict
In [3]: jordan = {'name': 'Micheal Jordan', 'number': 23, 'position': 'PG', 'age': 29}
In [4]: jordan['position']
Out[4]: 'PG'
使用字典之后, 获取信息时会相对直观, 但是相较于字典的括号语法 jordan["position"] 我们更希望可以用类似获取属性一样使用 jordan.postion.
劣势: 无法对数据属性名进行控制,
少值或者错值,如, jordan = {'name': 'Micheal Jordan', 'NUMBER': 23} 一样可以创建成功.