類變數,存在類的記憶體裡
name = "
我是類name
"def
__init__(self, name, role, weapon, life_value=100, money=15000):
#建構函式,在例項化時做類的初始化工作
self.name = name #
例項變數(靜態屬性),作用域就是例項本身
self.role =role
self.weapon =weapon
self.
__life_value =life_value #使用__下劃線表示私有屬性,物件不能直接呼叫,要通過方法調調用
self.money =moneydef__del__
(self):
pass
#print("%s 徹底死了"%self.name)
defshow_status(self):
print("
name : %s weapon:%s life_value:%s
"%(self.name,self.weapon,self.__life_value
))
def__shot(self): #
類的方法,功能(動態屬性)
# 兩個下劃線開頭,宣告該方法為私有方法,不能在類地外部呼叫。
print("shooting...")
defgot_shot(self):
print("
ah...,i got shot...")
defbuy_gun(self, gun_name):
print("
%s just bought %s
" %(self.name,gun_name))
#類開闢一塊新的記憶體空間指向r1這個變數名,存下面的東西,name= alex,等
#呼叫role('alex', 'police','ak47')的時候把r1當作引數也傳進去,是為了把'alex','police',』ak47』這3個值跟剛開闢的r1關聯起來,
#相當於role(r1,'alex', 'police','ak47'),self就是r1,
#關聯起來後,你就可以直接r1.name, r1.weapon 這樣來呼叫啦
#為實現這種關聯,在呼叫__init__方法時,就必須把r1這個變數也傳進去,即傳進去誰,self就是誰,否則__init__不知道要把那3個引數跟誰關聯
#所以這個__init__(…)方法裡的,self.name = name , self.role = role 等等的意思就是要把這幾個值 存到r1的記憶體空間裡,
#即 r1 = role(r1,'alex', 'police','ak47')
#r1.name="alex"
#r1.role="police"
#r1.buy_gun("ak47") # role.buy_gun(r1)
##把乙個類變成乙個具體物件的過程叫例項化(初始化乙個類,造了乙個物件)
##生成乙個角色
#r2 = role('jack', 'terrorist','b22')
##生成乙個角色
#r1.buy_gun("ak47") # role.buy_gun(r1)
#print(role.n)
r1 = role('
alex
', '
police
','ak47')
r1.buy_gun(
"ak47")
r1.got_shot()
#print(r1.__life_value)
r1.show_status()
#del r1
r2 = role('
jack
', '
terrorist
','b22')
r2.buy_gun(
"ak47")
r2.got_shot()
Python 之 類的繼承
知識點 1.類的繼承 只能繼承父類的共有方法和屬性 2.當子類中無此方法時呼叫父類的方法 3.當有多個方法時,可通過print d.mro 檢視父類中 4.方法的重寫 當父類中的方法不能滿足需求的時候,可在子類中對其進行重寫 class a object def print c self print...
Python 入門之類的繼承
from animalstest import animals 請在下面填入定義fish類的 fish類繼承自animals類 begin class fish animals end def init self,name self.name name defswim self print s會游泳...
python入門之類的繼承
類的繼承 1 定義類的繼承 首先我們來看下類的繼承的基本語法 class classname baseclassname 1 定義類的繼承 首先我們來看下類的繼承的基本語法 class classname baseclassname 在定義類的時候,可以在括號裡寫繼承的類,一開始也提到過,如果不用繼...