class house_item:
def __init__(self,name,area):
self.name=name
self.area=area
def __str__(self):
return "%s,\n面積是%.2f" % (self.name,self.area)
class house:
def __init__(self,house_type,house_area):
self.type=house_type
self.area=house_area
self.free_area=house_area
self.itemlist=[]
def __str__(self):
return ("房子類型:%s\n房子面積:%.2f\n房子剩余面積:%.2f\n房子家具列表:%s\n"
%(self.type,self.area,self.free_area,self.itemlist))
def additem(self,item):
print("要添加的家具是:%s"%item)
if item.area >self.free_area:
return "家具面積大,不能添加"
self.free_area -=item.area
self.itemlist.append(item.name)
bed=house_item("床",4)
myhome=house("兩室一廳",60)
myhome.additem(bed)
print(myhome)
輸出:
要添加的家具是:床,
面積是4.00
房子類型:兩室一廳
房子面積:60.00
房子剩余面積:56.00
房子家具列表:['床']
簡單說明一下學習過程吧,一開始不明白為什么會在myhome 對象中可以通過一個bed,進行傳兩個值
后來發現是通過myhome對象調用了bed對象(bed對象中有兩個參數),通過item.area進行調用,
我的理解是如下圖:
有寫的不對的地方請大神提出,指點,共同交流!分享記錄下,給新人指路吧!