Python----一個物件的屬性可以是另外一個型別建立的物件
阿新 • • 發佈:2019-02-18
士兵的例子
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. 發射子彈
self.bullet_count -= 1
# 3. 提示發射資訊
print("[%s] 突突突...子彈有: [%d]" % (self.model, self.bullet_count))
建立槍物件
ak47 = Gun(‘ak47’)
ak47.add_bullet(30)
ak47.shoot()
ak47.shoot()
class Soldier:
def __init__(self, name):
self.name = name
self.gun = None # 私有
def fire(self):
# 1. 判斷士兵是否有槍
if self.gun is None: # 身份運算子(is) 可以替換(==)
print("[%s] 還沒有槍..." % self.name)
return
# 2. 口號
print("衝啊... [%s]" % self.name)
# 3. 裝子彈
self.gun.add_bullet(30)
# 4. 發射子彈
self.gun.shoot()
建立一個士兵
jack = Soldier(“jack”)
jack.gun = ak47
jack.fire()
print(jack.gun)