python士兵與槍兩種類連線使用

2021-09-30 19:18:14 字數 1172 閱讀 7256

class soldier:

def __init__(self,name):

self.name=name

self.gun=none   #####這裡先設為none  等槍示例化後再給

def __str__(self):

return '士兵%s有一把%s,%s。'%(self.name,self.gun.model,self.gun)

#這裡gun.model為槍名字 gun為gun類的str

def fire(self):

if self.gun==none:

print("沒有**!")

return false

self.gun.add_bullet(10)

self.gun.shoot()

return true

class gun:

def __init__(self,model,bullet_count=0):

self.model=model

self.bullet_count=bullet_count

def __str__(self):

return '這把%s剩餘%d子彈'%(self.model,self.bullet_count)

def shoot(self):

if self.bullet_count==0:

return false

self.bullet_count-=1

print('發射一顆子彈')

return true

def add_bullet(self,count):

self.bullet_count+=count

print('填充%d顆子彈'%count)

return true

b = gun('ak-47') #填充30顆子彈

b.add_bullet(30) #發射一顆子彈

b.shoot() #射擊

a=soldier('瑞恩') #發射一顆子彈

a.gun=b #將例項化的槍給士兵

a.fire() #士兵**

print(a) ##士兵瑞恩有一把ak-47,這把ak-47剩餘38子彈。

auto 與decltype 兩種型別推斷

auto型別計算後推斷,decltype不進行計算 auto會忽略掉頂層const,保留下層const decltype全部進行保留 與auto不同,decltype結果型別與表示式形式密切相關 加上括號與不加括號不同。include include using namespace std int ...

Python連線redis的兩種方式

先安裝redis庫 pip install redis 第一種from redis import redis 一般連線,使用redis連線 這裡使用redis db redis host localhost port 6379 db 0,decode responses true 操作結果的資料型別...

VB 6 0 與 SQL Server 的兩種連線

visual basic 6.0與 sql server 的兩種連線 摘 要 本文介紹了visual basic 6.0應用程式通過ado連線microsoft sql server的兩種方法,即有源資料庫連線和無源資料庫連線,分別說明了兩種連線方法的內部機制,並以例項比較兩種方法的優缺點。vb通過...