房子已经成为了中国人不可回避的话题,朋友见面,你房子买了吗?TMD又涨价了。去相亲,你家买房了吗?在哪个位置,房子多大?等等种种问题,不胜枚举。房子都会买,无非是位置在哪里,房子有多大而已(当然不买也是可以的,只要你媳妇同意)。那么问题来了,买了房子,就放往房子里放家具。这里介绍一个程序,记录已买房子信息,存放家具的情况。
大框架
class Home(object): """定义一个房子类""" def #房子面积 #房子户型 #房子地址 #房子里的家具 #添加一个方法把家具添加到房子里 def add(): pass class Bed(object): """定义一个家具床""" def #床的名字 #床的大小 fangzi = Home() bed = Bed() print(fangzi)
根据大框架,填入细节
class Home: """定义一个房子的类""" def __init__(self,new_area,new_info,new_addr): #属性 self.area = new_area #房子的面积 self.info = new_info #房子的户型 self.addr = new_addr #房子的地址 self.left_area = new_area #剩余面积初始面积 self.contain_items = [] #房子里的家具 def __str__(self): msg = "房子的总面积为%d,剩余面积为:%d,户型是:%s,地址是:%s"%(self.area,self.left_area,self.info,self.addr) msg += "房子里的家具有%s"%(str(self.contain_items),)#内容太多分开写 return msg #方法 #调用类Bed def add_item(self,item): #第一种调用方法 #self.left_area -= item.area #item就是被调用的Bed类的对象,加入一个剩余面积减少 #self.contain_items.append(item.name)#添加一个家具存储到属性中 #第二种调用方法 self.left_area -= item.get_area() #item就是被调用的Bed类的对象,加入一个剩余面积减少 self.contain_items.append(item.get_name())#添加一个家具存储到属性中 class Bed: def __init__(self,new_name,new_area): self.name = new_name #床的名字 self.area = new_area #床的面积 def __str__(self): return "%s床的面积是:%d"%(self.name,self.area) #第二种方法中添加获取的方法 def get_area(self): return self.area def get_name(self): return self.name #创建一个房子的对象 fangzi = Home(130,"三室一厅","武汉市 武昌区 中北路52号") print(fangzi) #创建一个床的对象 bed1 = Bed("席梦思",4) print(bed1) #再添加一张床 bed2 = Bed("三人床",5) print(bed2) #把床放进房子里 fangzi.add_item(bed1) fangzi.add_item(bed2) print(fangzi)
执行结果: