ad

《Python学习笔记 从入门到实战》_更了解Python的途径之一_7.5.4 修改属性的值

网友投稿 54 2023-11-07

【摘要】 本书摘自《Python学习笔记 从入门到实战》一书中第7章,第5节,由张学建编著。

7.5.4 修改属性的值

在 Python 程序中,可以使用如下两种不同的方式修改属性的值。

●直接通过实例进行修改;

《Python学习笔记 从入门到实战》_更了解Python的途径之一_7.5.4 修改属性的值

●通过自定义方法修改。

在下面的内容中,将详细讲解上述两种修改属性值方法的知识。

1. 直接通过实例进行修改

在 Python 程序中,可以直接通过实例的方式修改一个属性的值。例如在下面的实例代 码中,将霍老板的新车奔驰 E300L 的行驶里程修改为12公里。

实例7-13:通过实例修改霍老板新车的行驶里程

源码路径:下载包\daima\7\7-13

2. 自定义方法修改

在 Python 程序中,可以自定义编写一个专有方法来修改某个属性的值。这时可以无须

直接访问属性,而只是将值传递给自定义编写的方法,并在这个方法内部进行修改即可。例 如在下面的实例代码中,通过自定义方法 update_odometer) 将行驶里程修改为15公里。

实例7-14:通过自定义方法修改霍老板新车行驶里程的方法

源码路径:下载包\daima\7\7-14

实例文件upl.py 的具体实现代码如下所示。

def update_odometer(self,mileage):

##

修改行驶里程

t H H

if mileage >=self.odometer_reading:

self.odometer_reading =mileage

else:

print( "这是一个不合理的数据!")

my_new_car =Car('Benz','E300L',2019)

print(my_new_car.get_descriptive_name())

my_new_car.update_odometer(15)

my_new_car.read_odometer()

在上述实例代码中定义了一个自定义方法 update_odometer(), 此方法可以接受一个行驶 里程值,并将其存储到 self.odometer_reading 中。并且设置在修改属性前检查指定的里程数 据是否合理。如果新指定的里程大于或等于原来的里程 “self.odometer_reading”, 则将里程 数据改为新设置的里程数据。否则就发出提醒,输出“这是一个不合理的数据!”的提示。在 倒数第2行代码中,调用自定义方法 update_odometer()将行驶里程修改为15。

能不能将属性值设置为一个递增值,而不是将其设置为一个具体的值。假设我新买的奔驰 E300L 从提车那天起,到今天为止已经行驶了2000公里,我们可以编写一个自定义方法,在 这个方法中传递这个新增加的2000公里值,这里便通过递增的方式修改了属性值。

例如在下面的实例代码中演示了你的上述修改过程。

实例7-15:通过递增值修改霍老板新车的行驶里程

源码路径:下载包\daima\7\7-15

实例文件up2.py 的具体实现代码如下所示。

****……

def increment_odometer(self,miles):

"""通过递增的方式修改行驶里程。"""

my_new_car =Car('迈巴赫','S800',2019) print(my_new_car.get_descriptive_name()) my_new_car.update_odometer(15)

my_new_car.read_odometer()

my_new_car.increment_odometer(2000)

my_new_car.read_odometer()

在上述实例代码中,使用自定义方法increment_odometer() 接受一个新的行驶里程数字, 并将其加入到 selfodometer reading中。提车时设置的行驶里程是15公里,然后通过 “my new_car.increment_odometer(2000)” 设置从提车到现在又行驶了2000公里,所以通过方法

update_odometer()将现在总的行驶里程修改为2015公里

7.5.5 使用私有属性

在本章前面7.4.5的内容中已经讲解了私有方法的知识,已经了解到只要在属性名或方 法名前加上两个下画线“ ”,那么这个属性或方法就会为私有的了。在 Python 程序中, 私有属性不能在类的外部被使用或直接访问。当在类的内部使用私有属性时,需要通过“self. 属性名”的格式使用。例如在下面的实例中演示了在类内使用私有属性过程。

实例7-16:打印私有属性的值

源码路径:下载包\daima\7\7-16

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《自己动手写 Python 虚拟机》_更理解虚拟机的意义_6.4 方法
下一篇:达人之路·《高效办公应用宝典公式·函数与VBA》_6.3.14 根据指定条件求最小值
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×