9-9 电瓶升级
1. 项目
在本节最后一个 electric_car.py 版本中,给 Battery 类添加一个名为upgrade_battery()的方法。这个方法检查电瓶容量,如果它不是 85,就将它设置为 85。
创建一辆电瓶容量为默认值的电动汽车,调用方法 get_range(),然后对电瓶进行升级,并再次调用 get_range()。
你会看到这辆汽车的续航里程增加了。
2. 代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | class Car(): def __init__( self , make, model, year): """初始化描述汽车的属性""" self .make = make self .model = model self .year = year self .odometer_reading = 0 def get_descriptive_name( self ): """返回整洁的描述性信息""" long_name = str ( self .year) + ' ' + self .make + ' ' + self .model return long_name.title() def update_odometer( self , mileage): """将里程表读数设置为指定的值""" """ 将里程表读数设置为指定的值 禁止将里程表读数往回调 """ if mileage > = self .odometer_reading: self .odometer_reading = mileage else : print ( "You can't roll back an odometer!" ) def increment_odometer( self , miles): """将里程表读数增加指定的量""" self .odometer_reading + = miles def read_odometer( self ): """打印一条指出汽车里程的消息""" print ( "This car has " + str ( self .odometer_reading) + " miles on it." ) class Battery(): """一次模拟电动汽车电瓶的简单尝试""" def __init__( self , battery_size = 70 ): """初始化电瓶的属性""" self .battery_size = battery_size def describe_battery( self ): """打印一条描述电瓶容量的消息""" print ( "This car has a " + str ( self .battery_size) + "-kWh battery." ) def upgrade_battery( self ): if self .battery_size ! = 85 : self .battery_size = 85 def get_range( self ): """打印一条消息, 指出电瓶的续航里程""" if self .battery_size = = 70 : range = 240 elif self .battery_size = = 85 : range = 270 message = "This car can go approximately " + str ( range ) message + = " miles on a full charge." print (message) class ElectricCar(Car): """电动车的独特之处""" def __init__( self , make, model, year): """ 初始化父类的属性,再初始化电动汽车特有的属性 """ super ().__init__(make, model, year) self .battery = Battery() my_tesla = ElectricCar( 'tesla' , 'model X' , 2021 ) my_tesla.battery.get_range() my_tesla.battery.upgrade_battery() my_tesla.battery.get_range() |
3. 执行结果
1 2 | This car can go approximately 240 miles on a full charge. This car can go approximately 270 miles on a full charge. |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律