2020-08-06

请问一下为什么第二个类里面的 print(f"要添加{item}")会调用第一个类里面的–str–(self)呢?

“”"
1.房子(House) 有 户型、总面积 和 家具名称列表
新房子没有任何的家具
2.家具(HouseItem)有 名字 和 占地面积,其中
席梦思(bed) 占地 4 平米
衣柜(chest) 占地 2 平米
餐桌(table) 占地 1.5 平米
3.将以上三件 家具 添加 到 房子 中
4.打印房子时,要求输出:户型、总面积、剩余面积、家具名称列表
“”"
class HouseItem:
def init(self,name,area):
self.name = name
self.area = area

def __str__(self):
    return "[%s] 占地 %.2f" % (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.item_list = []

def __str__(self):
    return print(f"户型:{self.house_type},总面积:{self.area},剩余面积:{self.free_area},家具列表:{self.item_list}")

def address(self,item):
    print(f"要添加{item}")
    # 1. 判断家具的面积,这里的item.area要理解清楚。
    if item.area > self.free_area:
        print("%s 的面积太大了,无法添加" % item.name)
        return
    # 2. 将家具的名称添加到列表中
    self.item_list.append(item.name)
    # 3. 计算剩余面积
    self.free_area -= item.area

#1.创建家具
bed = HouseItem(“席梦思”,50)
chest = HouseItem(“衣橱”,60)
table = HouseItem(“餐桌”,20)

#2.创建房子对象
my_house = House(“阳光小区”,1000)
my_house.address(bed)
my_house.address(chest)
my_house.address(table)
print(my_house)

#主程序只负责创建房子对象和家具对象
#让房子对象调用add_item方法将家具添加到房子中
#面积计算、剩余面积、家具列表等处理都被封装到房子类的内部
#python#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值