在编写第一个项目实战的博客中发现了一个关于类的使用,一些方法有可能会在以后的项目中大量使用的,所以我就写了一个关于类的使用的博客,来记录一下自己的学习。
我们现在要创建三个类文件:
- car.py包含Car类
- electic_car.py本文件中首行导入Car类,其中电动车类electic_car继承Car类
- my_car.py是里面是汽油实例
- my_electric_car.py是电动车的实例
Car类
这个类的是一个初始的类Car类
Car.py
"""一个用来表示汽车的类"""
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 = f"{self.year} {self.make} {self.model}"
return long_name.title()
def read_odometer(self):
"""打印一条消息,指出汽车的行驶里程"""
print(f"本车公里数为 {self.odometer_reading} km")
def update_odometer(self, mileage):
"""
将里程表读数设置为指定的值
拒绝里程表回调
:param mileage: int
:return: 打印
"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("你不能回调")
def increase_odometer(self, miles):
"""
让里程表增加指定的值
:param miles: 增加的值
:return:
"""
self.odometer_reading += miles
这里的Car类是最初的父类,后面的电动汽车类继承于Car类
ElectricCar类
在electic_car.py文件中有两个类,一个Battery类是电池类,一个是ElectricCar类是电动汽车类继承于Car类,并且电动汽车类中包含电池类,电池类中有容量和续航等方法。
from car import Car
class Battery:
"""一次模拟电动汽车电瓶的简单尝试"""
def __init__(self, battery_size=50):
"""初始化电池属性"""
self.battery_size = battery_size
def describe_battery(self):
"""现实描述电池容量的信息"""
print(f"本车电池容量 {self.battery_size} kWh")
def get_range(self):
"""显示一条电池续航里程的信息"""
if self.battery_size == 100:
range = 1200
elif self.battery_size == 50:
range = 500
print(f"本车续航里程 {range} kM")
class ElectricCar(Car):
"""模拟电动车的独特之处"""
def __init__(self, make, model, year):
"""
先初始化父类的属性,再初始化电动汽车特有的属性
:param make: 制造商
:param model: 品牌
:param year: 年份
"""
super().__init__(make,model,year)
self.battery = Battery()
Car的实例
汽油车my_car.py 实例
这是使用Car类实例化的汽油车
from car import Car
# 实例化一辆奥迪
my_new_car = Car("奥迪","A4",2024)
# 使用汽车类的一个描述方法
print(my_new_car.get_descriptive_name())
# 设置汽车的公里数
my_new_car.odometer_reading = 23
# 读取汽车的公里数
my_new_car.read_odometer()
# 更新汽车的公里数
my_new_car.update_odometer(22)
我们先导入了Car类,使用了Car类来实例化了一辆奥迪车。
电动汽车 my_electric_car.py 实例
这里我们使用了模块导入的用法,来使这个代码更清晰,分类更准确。
from electic_car import ElectricCar
# 实例化了一辆特斯拉
my_new_car = ElectricCar("tesla","model3",2023)
# 打印汽车的描述
print(my_new_car.get_descriptive_name())
# 电动汽车内置了一个电池类,实例化电动汽车的同时也实例了一个电池,此处使用电池的描述容量的方法
my_new_car.battery.describe_battery()
# 使用内置电池的显示里程数方法
my_new_car.battery.get_range()
我们导入了 electic_car.py 模块中 ElectricCar 类。
在lectic_car.py模块中我们有导入Car类、Battery类和ElectricCar类,这样各功能的区分是代码更清晰,更易读。
5784

被折叠的 条评论
为什么被折叠?



