烤地瓜
[!tip|style:flat|label:提示]
封装小套路
1. 根据文字描述信息,确定对象,对象有什么,就是属性 1. 根据文字描述信息,对象能干什么,就是方法 1. 根据文字描述信息,确定方法怎么书写
# 案列:烤地瓜
# 1. 类名:地瓜类 SweetPotato
# 属性:
# 状态 status="生的"
# 烤的时间 total_time=0
# 方法:
# def cook(self, time):
# # 计算烤地瓜的总时间
# # 修改地瓜的状态
# 输出地瓜信息 def __str__(self):
# 定义属性 def __init__(self):
class SweetPotato(object):
def __init__(self):
self.status = "生的"
self.total_time = 0
def cook(self, time):
self.total_time += time
# 判断地瓜的状态
if 0 <= self.total_time < 3:
self.status = "生的"
elif 3 <= self.total_time < 5:
self.status = "半生不熟"
elif 5 <= self.total_time < 8:
self.status = "熟了"
elif self.total_time >= 8:
self.status = "糊了"
def __str__(self):
return f"地瓜的状态是{self.status}, 烤的总时间是{self.total_time}"
# 创建地瓜对象
sweet_potato = SweetPotato()
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
烤地瓜调料版
class SweetPotato:
def __init__(self):
self.cooked_level = 0
self.cooked_string = '生的'
self.condiments = []
def __str__(self):
return f'地瓜状态:{self.cooked_string},添加的佐料有:{self.condiments}'
def cook(self, cooked_time):
self.cooked_level += cooked_time
if 0 <= self.cooked_level < 3:
self.cooked_string = '生的'
elif 3 <= self.cooked_level < 5:
self.cooked_string = '半生不熟'
elif 5 <= self.cooked_level < 8:
self.cooked_string = '熟了'
elif self.cooked_level >= 8:
self.cooked_string = '烤糊了'
def add_condiments(self, condiment):
self.condiments.append(condiment)
# 创建地瓜对象
sweet_potato = SweetPotato()
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('盐')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('胡椒')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('孜然')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('辣椒')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('花椒')
print(sweet_potato)
sweet_potato.cook(2)
print(sweet_potato)
sweet_potato.add_condiments('八角')
搬家具
# 搬家具案列
# 家具类
class Furniture:
def __init__(self, name, area):
self.name = name
self.area = area
def __str__(self):
return f"{self.name}的占地面积是{self.area}平米"
# 房子类
class House:
def __init__(self, house_type, area):
self.house_type = house_type
self.area = area
self.free_area = area
self.furniture = []
def __str__(self):
return f"房子的户型是{self.house_type},面积是{self.area}平米,剩余面积是{self.free_area}平米"
def add_furniture(self, item):
"""
添加家具的方法
:param item: 要添加的家具对象
:return: None
"""
if self.free_area >= item.area:
self.furniture.append(item.name)
self.free_area -= item.area
else:
print(f"{item.name}的面积太大,无法添加")
def show_furniture(self):
print(f"房子里面的家具有{self.furniture}")
# 创建家具对象
bed = Furniture("床", 15)
sofa = Furniture("沙发", 20)
table = Furniture("桌子", 10)
# 电脑桌
computer_desk = Furniture("电脑桌", 5)
# 创建房子对象
house = House("三室一厅", 120)
# 添加家具
house.add_furniture(bed)
house.add_furniture(sofa)
house.add_furniture(table)
house.add_furniture(computer_desk)
# 显示房子信息
print(house)
# 显示家具信息
house.show_furniture()