python面向对象练习一

假设我们正在开发一个学生管理系统,我们需要创建一个Student类来表示学生对象。
每个学生都有学号、姓名和年龄属性。我们还希望能够打印学生的信息,并在删除学生对象时输出一条提示消息。
要求使用__str__()管理学生信息的打印
要求使用__del__()管理删除学生对象时的提示信息
class Student(object):
    def __init__(self,number,name,age):
        self.number=number
        self.name=name
        self.age=age

    def __str__(self):
        return f'学号:{self.number},姓名:{self.name},年龄:{self.age}'

    def __del__(self):
        print(f'{self.name}对象已被删除')

student=Student('123456','张三',12)
print(student)
del student
定义一个水果类,然后通过水果类,创建苹果对象、橘子对象、西瓜对象并分别添加属性:颜色和价格。
class Fruit():
    pass


apple=Fruit()
apple.colour='红色'
apple.price='8元/kg'
print(f'苹果的颜色为{apple.colour},苹果的价格为{apple.price}')

orange=Fruit()
orange.colour='红色'
orange.price='5元/kg'
print(f'橘子的颜色为{orange.colour},橘子的价格为{orange.price}')

watermelon=Fruit()
watermelon.colour='红色'
watermelon.price='3元/kg'
print(f'西瓜的颜色为{watermelon.colour},西瓜的价格为{watermelon.price}')
请编写一个名为 CoffeeMachine 的类,用于表示咖啡机。该类具有以下属性和方法:
属性:
brand:咖啡机的品牌
water_level:水箱的水位
方法:
init(self, brand, water_level):初始化咖啡机对象,接受品牌和初始水位作为参数
brew_coffee(self):冲泡咖啡,检查水位并输出冲泡咖啡的操作提示信息,每次冲泡水位往下递减1升
refill_water(self, amount):加水到水箱,接受加水量作为参数
check_water_level(self):检查水箱的水位,输出当前水位信息
这个咖啡机类模拟了一个简单的咖啡冲泡系统,其中品牌是公开属性,
可以直接访问和修改,而水位只有咖啡机自己知晓,只能在类的内部访问和修改。
通过提供冲泡咖啡、加水和检查水位等方法来管理咖啡机。
class CoffeeMachine(object):
    def __init__(self, brand, water_level):
        self.brand = brand
        self.__water_level = water_level

    def brew_coffee(self):
        if self.__water_level > 0:
            self.__water_level -= 1
            print(f"使用{self.brand}咖啡机冲泡了一杯咖啡,当前水位:{self.__water_level}升。")
        else:
            print("咖啡机水箱水位不足,无法冲泡咖啡。")

    def refill_water(self, amount):
        self.__water_level += amount  # 加水到水箱
        print(f"向{self.brand}咖啡机加 {amount}升,当前水位:{self.__water_level}升。")

    def check_water_level(self):
        print(f"{self.brand}咖啡机当前水位:{self.__water_level}升。")


coffeeMachine=CoffeeMachine('九阳',10)
coffeeMachine.brew_coffee()
coffeeMachine.refill_water(10)
coffeeMachine.check_water_level()

相关推荐

  1. python面向对象练习

    2024-03-13 18:36:03       43 阅读
  2. python面向对象练习

    2024-03-13 18:36:03       43 阅读
  3. python面向对象详解(

    2024-03-13 18:36:03       23 阅读
  4. 文掌握python面向对象魔术方法(

    2024-03-13 18:36:03       36 阅读
  5. 文掌握python面向对象魔术方法(二)

    2024-03-13 18:36:03       32 阅读
  6. 面向对象编程(

    2024-03-13 18:36:03       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 18:36:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 18:36:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 18:36:03       87 阅读
  4. Python语言-面向对象

    2024-03-13 18:36:03       96 阅读

热门阅读

  1. 【SpringCloud微服务实战05】Feign 远程调用

    2024-03-13 18:36:03       49 阅读
  2. SpringBoot总结-配置管理和日志管理

    2024-03-13 18:36:03       39 阅读
  3. ChatGPT学术论文润色的方法与步骤教程

    2024-03-13 18:36:03       48 阅读
  4. 图片流……

    2024-03-13 18:36:03       44 阅读
  5. SystemVerilog Constants、Processes

    2024-03-13 18:36:03       44 阅读
  6. DockerCompose的介绍、安装与常用命令

    2024-03-13 18:36:03       46 阅读
  7. vue2和vue3的区别?

    2024-03-13 18:36:03       51 阅读
  8. data engineer

    2024-03-13 18:36:03       41 阅读
  9. 对盒子模型的理解(box-sizing)

    2024-03-13 18:36:03       48 阅读