python从入门到实践_Python编程从入门到实践日记Day37

Python编程从入门到实践日记Day37

第8章 类(四)

1.使用类和实例(二)

— 修改属性的值

我们可以以三种不同的方式修改属性的值:直接通过实例进行修改、通过方法进行设置和通过方法进行递增(增加特定的值)。下面依次介绍这些方法。

--直接修改属性的值

要修改属性的值,最简单的方式是通过实例直接访问它。下面的代码直接将里程表读书设置成为23:

ef022ef559c5a8a23cc4ce3c7217072d.png

在第18行代码处,我们使用句点表示法直接访问并设置汽车的属性odometer_reading。这行代码让Python在实例my_new_car中找到属性odometer_reading,并将该属性的值设置为23:

18b6cb10cf61a87312ea7d972ee30cc6.png

有时候需要像这样直接访问属性,但其他时候需要编写对属性进行更新的方法。

--通过方法修改属性的值

如果有更新属性的方法,将大有好处。我们就无需直接访问属性,而可将值传递给一个方法,由它在内部进行更新。

下面的示例演示了一个名为update_odometer()的方法:

2d655889fe170f15286c923acfc4f0ec.png

对Car类所做的唯一修改是在第16行代码处添加了方法update_odometer()。这个方法接受一个里程值,并将其存储到self.odometer_reading中。在第21行代码处,我们调用了update_odometer(),并向它提供了实参23(该实参对应于方法定义中的形参mileage)。它将里程表读数设置为23;而方法reading_odometer()打印该读数:

18b6cb10cf61a87312ea7d972ee30cc6.png

--通过方法对属性的值进行递增

有时候需要将属性值递增特定的量,而不是将其设置为全新的值。假设我们购买了一辆二手车,且从购买到登记期间增加了100英里里程,下面的方法让我们能够传递这个增量,并相应地增加里程表读数:

21ab46f5f756e94ef67a99e7b0dc7159.png

在第19行代码处,新增的方法increment_odometer()接受一个单位为英里的数字,并将其加入到self.odometer_reading中。在第22行代码处,我们创建了一辆二手车—my_used_car。在第24行代码处,我们调用方法update_odometer()并传入23500,将这辆二手车的里程表读数设置为23500.在第26行代码处,我们调用increment_odometer()并传入100,以增加从购买到登记期间行驶的100英里:

debf052ea90834e08c84112715595269.png
_

如果大家有什么好的意见或建议,记得留言哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值