[code]#一个对象的属性可以时另外一个类创建的对象
class Gun:
def __init__(self,model):
#1.枪的型号
self.model=model
#2.子弹的数量
self.bullet_count=0
def add_bullet(self,count):
self.bullet_count += count
def shoot(self):
#1.判断有无子弹
if self.bullet_count<=0:
print("[%s]没有子弹了..." % self.model)
return
#2.发射子弹,子弹数-1
self.bullet_count -= 1
#3.提示发射信息
print("[%s] 突突突...[剩余子弹数:%d]" % (self.model,self.bullet_count))
class Soldier:
def __init__(self,name):
#1.姓名
self.name=name
#2.枪(新兵没有枪)
# #(不知道使用什么初始值时使用None,建立一个空对象)
self.gun=None
def fire(self):
#1.判断士兵是否有枪
# 身份运算符
# ‘is’是判断两个标识符是不是引用同一个对象(身份运算符)
# ‘==’是判断两个值是否相等
if self.gun is None:
print('[%s]还没有枪...' % self.name)
#2.高喊口号
print('冲啊...[%s]' % self.name)
#3.让枪装填子弹
self.gun.add_bullet(50)
#4.让枪发射子弹
self.gun.shoot()
#1.创建枪对象
ak47 = Gun("AK47")
#2.创建士兵
xusanduo=Soldier('许三多')
xusanduo.gun=ak47
xusanduo.fire()
print(xusanduo.gun)