Python學習之類的繼承

2022-09-03 00:03:23 字數 2185 閱讀 9000

類變數,存在類的記憶體裡

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 =money

def__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 在定義類的時候,可以在括號裡寫繼承的類,一開始也提到過,如果不用繼...