当前位置: 首页 > news >正文

python面向对象练习一

假设我们正在开发一个学生管理系统,我们需要创建一个Student类来表示学生对象。
每个学生都有学号、姓名和年龄属性。我们还希望能够打印学生的信息,并在删除学生对象时输出一条提示消息。
要求使用__str__()管理学生信息的打印
要求使用__del__()管理删除学生对象时的提示信息
class Student(object):def __init__(self,number,name,age):self.number=numberself.name=nameself.age=agedef __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():passapple=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 = brandself.__water_level = water_leveldef brew_coffee(self):if self.__water_level > 0:self.__water_level -= 1print(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()

http://www.lryc.cn/news/317039.html

相关文章:

  • 【Linux-tar/gzip/zip】
  • 第一代高通S7和S7 Pro音频平台:超旗舰性能,全面革新音频体验
  • el-menu + el-badge 菜单加红点标识el-badge
  • python: inspect模块各函数的用法
  • 优化代码性能:C#中轻松测量执行时间
  • I2C学习总结
  • libcudart.so libcuda.so之间的关系
  • STM32基本定时功能
  • Linux学习:权限
  • 汉诺塔问题代码写法的详细解析
  • Python爬虫入门
  • 【数据结构学习笔记】选择排序
  • 小资金适合做伦敦金的投资吗?
  • 自动化运维工具 ---------------Ansible
  • 富格林:有效做单安全盈利方法
  • 二分查找的理解及应用场景。
  • 共创时代,品牌如何做好UGC营销?
  • 华为三层交换机:ACL的基本实验
  • 基于springboot+vue的旅游管理系统
  • 4. git 添加版本标签
  • 2024 PhpStorm激活,分享几个PhpStorm激活的方案
  • 2419. prufer序列(prufer编码,模板题)
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Text)
  • 开源大数据集群部署(十五)Zookeeper集群部署
  • 服务器镜像是什么
  • JWT原理
  • 操作系统:一款纯正的“管理”软件
  • Mac笔记本聚焦SpotLight占用内存太高的 解法
  • C++中.h和.hpp文件有什么区别?
  • MongoDB聚合运算符:$derivative