参考书:《Python编程从入门到实践》
#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
# Please write your outline & code.
# Please write your outline & code.
class Car:
'''创建一个有关汽车的类'''# 构造函数
def __init__(self, make: str, model: str, year: int):
'''
description:初始化汽车的属性
param {*} self
param {str} make 制造商
param {str} model 型号
param {int} year 生产年份
return {*}
'''self.make = make
self.model = model
self.year = year
self.odometer_reading = 10# 默认,里程表初始值 = 0
# print("hello world.") # 子类调用测试def get_descriptive_name(self):
"""描述:汽车"""
long_name = str(self.year) + " " + self.make + " " + self.model
return long_name.title()def read_odometer(self):
"""读取:里程数"""
show_odometer = "This car has " + str(
self.odometer_reading) + " miles on it."
return show_odometerdef update_odometer(self, mileage=int):
"""更新:里程表数据(mileage 英里数)"""
# 参考第 93 行,调用这个方法的时候,才写 mileage 参数(调用其他方法,不需填写)
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("Your can't roll back an odometer.")
returndef increment_odometer(self, miles=float):
"""新增:里程表数据(miles 英里)"""
# 参考第 94 行,调用这个方法的时候,才写 miles 参数(调用其他方法,不需填写)
self.odometer_reading += miles
# return self.odometer_reading += miles
return self.odometer_readingclass ElectriCar(Car):
"""电动汽车的独特之处"""# 构造函数
def __init__(self, make, model, year):# 有冒号
"""初始化:子类的属性"""super().__init__(make, model, year)# 继承 超类/父类,没有冒号
"""继承:超类/父类的属性"""
# 超类/父类/xx类,就是同一个东西,不一样的叫法# 再初始化子类的属性(可按需设置为:可变参数)
self.battery_size = 70def describe_battery(self):
"""打印一条描述电池的信息"""
print(f"This car has a {self.battery_size}-kwh battery.")# 实例化 tesla
my_tesla = ElectriCar("tesla", "model s", 2018)
print(my_tesla.get_descriptive_name())# 调用 子类的属性
print(my_tesla.battery_size)print("-------------------分割线---------------------")# 实例化 nio
my_nio = ElectriCar("nio", "et7", 2021)
print(my_nio.read_odometer())# 调用 子类的属性
print(my_nio.update_odometer(mileage=100))
print(my_nio.increment_odometer(miles=6))
【练习题|python类的继承,学习】特别提示:
- 如果在 类.方法() 中已设置 print 输出/return,可直接调用,而不必再写 print
- 参考如下:
-
文章图片
推荐阅读
- 蓝桥杯|蓝桥杯每日一题(30)单词分析(python)
- Python|十大最佳Python书籍[2021年更新]
- python|蓝桥杯每日一题(29)成绩统计(python)
- Python基础|五、Python基础(类与对象)
- 蓝桥杯————成绩统计
- paddle课程|[Paddle领航团python基础课程大作业一]英文词频的统计任务
- 人工智能|驾驶员嗜睡分类 - 深度学习
- 指静脉识别|指静脉代码学习---7.图像增强
- python|基于PyTorch搭建CNN实现视频动作分类任务