资源简介 (共27张PPT)类与对象(二)课前回顾1、创建类类:在python中,把具有相同属性和方法的对象归为一个类(class)2、创建对象对象=属性(特征)+方法(行为)3、面向对象面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用。情境引入面向对象程序设计之所以被广泛使用且经久不衰,是因为可以真真切切地按照现实生活中的思维,去构建面向对象程序的世界。我们可以使用类与对象来模拟现实世界中的很多情景。循序善诱在完成对类编写好后,你的大部分精力都将会用在根据类信息来创建实例对象。你需要执行的一个重要任务是修改实例对象的属性。你可以直接修改实例的属性,也可以通过编写方法以特定的方式进行修改属性信息。循序善诱本节课,我们将通过一个案例,进一步认识面向对象这一编程方式,并进一步掌握对类与对象的使用。新知教授2、属性默认值1、car类3、修改属性值4、课堂总结car类新知教授我们来编写一个表示汽车的类Car类,该Car类存储了有关汽车的信息,类中包含一个描述汽车信息的方法。思维构建class Car():def __init__(self, make, model, year):"""初始化描述汽车的属性"""self.make = make # make:汽车品牌self.model = model # model:汽车型号self.year = year # year:生产年份def get_data(self):"""返回整洁的描述性信息"""data_String = str(self.year) + ' ' + self.make + ' ' + self.modelreturn data_String思维构建我们定义了__init__() 方法接受传递过来的形参的值,并将它们存储在根据这个类创建的实例对象的属性中。self排第一思维构建我们定义了一个名为get_data()的方法让我们可以使用参数中的属性year、make和model信息,来创建一个对汽车信息进行描述的字符串,让我们无需分别来打印每个属性的值。编玩边学我们根据Car类创建了一个实例对象my_car,并将其存储到变量my_car中。接下来,我们调用方法get_data (),指出我们拥有的是一辆什么样的汽车。my_Car = Car('奥迪', 'A6', 2016)print(my_Car.get_data())属性默认值新知教授每个类中的每个属性,都是必须有初始值的,哪怕这个值是0或空字符串(Null)。思维构建在类中给属性指定默认值时不需要设定专门的形参;且在方法__init__中。例如下面来添加一个属性名称为mile_age(里程)的变量,来记录汽车行驶的总里程数据。class Car():def __init__(self, make, model, year):"""初始化描述汽车的属性"""self.make = make # make:汽车品牌self.model = model # model:汽车型号self.year = year # year:生产年份self.mile_age = 0编玩边学另外,我们还添加创建一个名为get_mileage()的方法,用于读取汽车的里程表信息。def get_mileage(self):"""返回一条指出汽车里程的消息"""return "这辆汽车已经行驶了 " + str(self.mile_age) + " 公里了。 "编玩边学my_Car = Car('奥迪', 'A6', 2016)print(my_Car.get_data())print(my_Car.get_mileage())我们创建实例对象后也可以通过get_mileage()方法读取汽车里程信息。修改属性值新知教授在现实生活中,即使一辆新的车子下线出售,它的行驶里程有时候也不为0,所以在接下来的编程中,我们要贴合实际,来对里程数mile_age属性进行修改。思维构建我们可以使用三种不同的方式修改属性的值:1、直接通过实例进行修改;2、通过方法进行设置;3、通过方法进行递增(增加特定的值)。编玩边学1、直接修改属性的值要修改属性的值,最简单的方式是通过实例直接访问它。my_Car.mile_age = 12print(my_Car.get_mileage())可以让Python在实例my_car中找到属性mile_age,并将该属性的值设置为12。编玩边学2、通过方法函数修改属性的值不直接访问属性,而可将值传递给一个专门的函数方法,由它在内部进行更新。def set_mileage(self, mile_ageVal):self.mile_age = mile_ageValmy_Car.set_mileage(13)print(my_Car.get_mileage())这样做的好处是,属性值的更改会更加安全,在后续学习中我们会发现这点。编学边玩3、通过方法对属性的值进行递增在使用编程解决实际生活问题时,有时候需要将属性的值按照特定的量进行增长,而不是简单的将其数据设置为全新的值。def incre_mile(self, mile):self.mile_age += milemy_Car.incre_mile(100)print(my_Car.get_mileage())此种方式更改属性值比第二张方式更加安全,避免直接修改属性值。实践创作一般来说,汽车行驶的里程数是不断往上增加的,如果私自将汽车行驶的里程改小,是属于违法行为。那么,根据这一规定,我们可以对修改里程属set_mileage ()方法进一步完善,使set_mileage ()方法在修改里程表读数时,做一些逻辑判断工作禁止任何人将里程表读数往回调(减小里程数)课堂总结1、属性默认值每个类中的每个属性,都是必须有初始值的,哪怕这个值是0或空字符串(Null)。2、修改属性值我们可以使用三种不同的方式修改属性的值:1、直接通过实例进行修改;2、通过方法进行设置;3、通过方法进行递增(增加特定的值)。分享交流同学们今天写代码有没有遇到什么问题?演示今天打印的代码同学们,要加油哦!下节课见啦 展开更多...... 收起↑ 资源预览