1.往房子里放家具的小案例
class Hourse:
def __init__(self,name,mianji):
self.name = name
self.mianji = mianji
def __str__(self):
return '家具是%s,面积是%.2f'%(self.name,self.mianji)
bed =Hourse('床',10)
computer = Hourse('电脑',15)
class Huxing:
def __init__(self,huxing,zmj):
self.huxing = huxing
self.zmj = zmj #这里有四个参数,但是我们只需要定义二个,因为剩余面积等于总面积,而self。yjjj是个空列表
self.symj = zmj #__init__里只需要定义需要传参数的东西
self.yjjj =[]
def __str__(self):
return '户型是%s,总面积%.2f,剩余面积%.2f,要加家具%s'%(self.huxing,self.zmj,self.symj,self.yjjj)
def add(self,item): #这里的item的作用是用来调用Hourse里的属性用的,但是我们需要先把bed传入add中否则调用不了
print('要添加%s'%item)
if item.mianji >self.symj:
print('太大,扔掉')
self.symj -= item.mianji
self.yjjj.append(item.name)
h = Huxing('三室一厅',100)
h.add(bed)
print(h)
结果:要添加家具是床,面积是10.00
户型是三室一厅,总面积100.00,剩余面积90.00,要加家具['床']
2.士兵突击小案例
class Qiang:
def __init__(self,xh):
self.xh = xh
self.zidan =0
def addzidan(self,zidan):
self.zidan += zidan
def kaihuo(self):
self.zidan -=10
print('%s突突突,%d'%(self.xh,self.zidan))
ak = Qiang('ak47')
class Ren:
def __init__(self,name):
self.name = name
self.qiang =None
def wuqi(self):
if self.qiang ==None:
print('给老子拿把抢')
print('我%s要打10个'%self.name)
self.qiang.addzidan(10000)
self.qiang.kaihuo()
a = Ren('士兵76')
a.qiang = ak #一个对象的属性可以是另一个对象 我们这里用a.qiang = ak,然后让Ren里的qiang方法来调用Qiang里的属性
a.wuqi()
结果:我士兵76要打10个
ak47突突突,9990