Python3完全新手小白的学习手册 9-1类的总结

在编写第一个项目实战的博客中发现了一个关于类的使用,一些方法有可能会在以后的项目中大量使用的,所以我就写了一个关于类的使用的博客,来记录一下自己的学习。

我们现在要创建三个类文件:

  • 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类,这样各功能的区分是代码更清晰,更易读。


相关链接

Python3完全新手小白的学习手册 9 类

往期目录

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qyydeep

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值