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通過...