小学中五年级课后服务 python编程教学 三阶第10课 类与对象(二) 课件 (27张PPT)

资源下载
  1. 二一教育资源

小学中五年级课后服务 python编程教学 三阶第10课 类与对象(二) 课件 (27张PPT)

资源简介

(共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.model
return 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 = 12
print(my_Car.get_mileage())
可以让Python在实例my_car中找到属性mile_age,并将该属性的值设置为12。
编玩边学
2、通过方法函数修改属性的值
不直接访问属性,而可将值传递给一个专门的函数方法,由它在内部进行更新。
def set_mileage(self, mile_ageVal):
self.mile_age = mile_ageVal
my_Car.set_mileage(13)
print(my_Car.get_mileage())
这样做的好处是,属性值的更改会更加安全,在后续学习中我们会发现这点。
编学边玩
3、通过方法对属性的值进行递增
在使用编程解决实际生活问题时,有时候需要将属性的值按照特定的量进行增长,而不是简单的将其数据设置为全新的值。
def incre_mile(self, mile):
self.mile_age += mile
my_Car.incre_mile(100)
print(my_Car.get_mileage())
此种方式更改属性值比第二张方式更加安全,避免直接修改属性值。
实践创作
一般来说,汽车行驶的里程数是不断往上增加的,如果私自将汽车行驶的里程改小,是属于违法行为。
那么,根据这一规定,我们可以对修改里程属set_mileage ()方法进一步完善,使set_mileage ()方法在修改里程表读数时,做一些逻辑判断工作禁止任何人将里程表读数往回调(减小里程数)
课堂总结
1、属性默认值
每个类中的每个属性,都是必须有初始值的,哪怕这个值是0或空字符串(Null)。
2、修改属性值
我们可以使用三种不同的方式修改属性的值:
1、直接通过实例进行修改;2、通过方法进行设置;3、通过方法进行递增(增加特定的值)。
分享交流
同学们今天写代码有没有遇到什么问题?
演示今天打印的代码
同学们,要加油哦!
下节课见啦

展开更多......

收起↑

资源预览