【Python】[07]定制数据对象
这章主要学习数据字典和类。
字典
python中字典的定义为:一个内置的数据结构(内置于python中),允许将数据与键而不是数字关联。这样可以使内存中的数据与实际数据的结构保持一致。
创建空字典的方式:
1、使用大括号来创建一个空字典,如:cleese={}
2、使用dic()工厂函数来创建空字典,如:cleese=dic()
通过将值与键关联,可以向空字典中增加数据,这两种方法向字典添加数据的区别是:
第一种创建方式可以分步向空字典中添加数据
cleese["Name"]="Jack" cleese["Occupations"]=["actor","teacher","doctor","writer"]
第二种创建方式,字典中的数据需要一次性同时创建
cleese={"Name":"Jack","Occupations":["actor","teacher","doctor","writer"]}
访问字典中的单个数据项的方法是,通过索引键,来访问键对应的数据项:
cleese["Name"]
类
python遵循标准的面向对象编程模型,提供了一种方法,允许将代码及其处理的数据定义为一个类,有了类的定义,就可以用它来创建(或者说实例化)数据对象,它会继承类的特性。
也就是说,类可以用来将代码和代码处理的数据相关联。
定义一个类时,实际上是在定义一个定制工厂函数,然后可以在代码中使用这个工厂函数创建实例。
python同样时使用class定义类,不过每个定义的类都有一个特殊的方法:__init__() #前后分别包含两个下划线
类中方法的定义跟函数的定义类似,都是用def来定义,基本模式如下:(其中,thing为类属性,是对象实例中的变量。)
class Athletes: def __init__(self,value=0): self.thing=value
在调用类的过程中,会将目标标识符赋值给self,如果没有这个赋值,python解释器就没法知道方法调用要应用到哪个对象实例中去,所以self参数可以帮助标志要处理哪个对象实例的数据。
在一个对象实例上调用类方法时,python要求第一个参数是调用对象实例,所以,类中定义的每个方法的第一个参数都必须是self。
定义了类之后,就需要创建对象实例,就是把对应类名的调用赋值给各个变量,如:
name=Althletes() dob=Althletes() times=Althletes()
实际上python执行代码如下:
Athletes.__init__(name)
Athletes.__init__(dob)
Athletes.__init__(times)
以上关于类的介绍,都是从零开始创建的定制类,但不是所有的类都需要从零开始创建,有些类可以在其他类的基础上进行继承,也就是,说在其他类的基础上添加一些方法以满足需求。
继承类
继承类可以从python任何内置的类型进行继承,也可以从多个类继承(又叫多重继承),还可以从定制类继承。