使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾:
class ClassName: ‘类的帮助信息‘ #类文档字符串 class_suite #类体
需求
房子(House)有户型、总面积和家具名称列表
新房子没有任何的家具
家具(HouseItem)有名字和占地面积,其中
席梦思(bed) 占地 4
平米
衣柜(chest) 占地 2
平米
餐桌(table) 占地 2.5
平米
将以上三件 家具添加 到 房子 中
打印房子时,要求输出:户型、总面积、剩余面积、家具名称列表
剩余面积
在创建房子对象时,定义一个 剩余面积的属性,初始值和总面积相等
当调用 add_item
方法,向房间 添加家具 时,让 剩余面积 -= 家具面积
class HouseItem: """创建家具类""" def __init__(self, name, area): """ :param name: 家具名称 :param area: 占地面积 """ self.name = name self.area = area def __str__(self): return "[%s] 占地面积 %.2f" % (self.name, self.area) bed = HouseItem("席梦思", 4) chest = HouseItem("衣柜", 4) table = HouseItem("桌子", 2) print(bed) print(chest) print(table) 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 "户型:%s\n总面积:%.2f\n[剩余:%.2f]\n家具:%s" % (self.house_type, self.area, self.free_area, self.item_list) def add_item(self, item): print("要添加 %s" % item) if item.area > self.free_area: print("%s 的面积太大,不能添加到房子中" % item.name) return self.item_list.append(item.name) self.free_area -= item.area my_house = House("两室一厅", 80) my_house.add_item(bed) my_house.add_item(chest) my_house.add_item(table) print(my_house)
原文:https://www.cnblogs.com/liduo0413/p/11229839.html