请看图片中32行代码添加一行
print(type(item))
item 是HouseItem的实例对象。
if item.area>self.free_area中item.area 是HouseItem的实例对象的实例属性area
贴代码以后记得要学会使用带格式的
"""
黄哥Python培训 黄哥所改
Python 3 qq:1465376564
"""
class HouseItem:
def __init__(self, name, area):
self.name = name
self.area = area
def __str__(self):
return "%s占地%.2f平米" % (self.name, self.area)
bed = HouseItem("双人床", 4)
table = HouseItem("桌子", 1.5)
chest = HouseItem("衣柜", 2.5)
print(bed)
print(table)
print(chest)
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【剩余面积:%.2f】\n家具:%s"
% (self.house_type, self.area,
self.free_area, self.item_list))
def add_item(self, item):
print(type(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_home = House("一室一厅", 55)
my_home.add_item(bed)
my_home.add_item(table)
my_home.add_item(chest)
print(my_home)
还可以加一个 isinstance
print(type(item), isinstance(item, HouseItem))