Python類的繼承的練習

2021-09-30 14:00:26 字數 1259 閱讀 5586

關於父類與子類的小例子

class

human

(object):

def__init__

(self,name,eye=2,age=none):

self.name = name

self.eye = eye

self.age = age

defaction

(self):

print("%s有%u個eye,這個人已經%u歲了" %(self.name,self.eye,self.age))

class

father

(human):

namef =

def__init__

(self,name):

self.name = name

father.namef = name

defaction

(self):

print("我是%s,是一名父親" %(self.name))

class

son(human):

defaction

(self):

print("我是%s,是%s的兒子"%(self.name,father.namef))

one = human("one",2,20)

tom = father("tom")

devid = son("devid")

bob1 = father("bob1")

micheal = son("micheal")

defactiont

(hm):

return hm.action()

actiont(one)

actiont(tom)

actiont(devid)

actiont(bob1)

actiont(micheal)

輸出的結果為

one有2個eye,這個人已經20歲了

我是tom,是一名父親

我是devid,是bob1的兒子

我是bob1,是一名父親

我是micheal,是bob1的兒子

在看到這段**時,關於輸出的第三行第五行為什麼是bob1的兒子始終不明白。後來找到問題所在,在namef列表中,當程式執行到bob1 = father("bob1")時列表的值已經替換成namef的值已經成為bob1,所以在接下來的程式執行中並沒有改變列表的值,即輸出是bob1。

python 類 繼承 python 類的繼承

1 所用的類都可以被繼承 2 沒有繼承其他類的類必然有乙個父類 object 3子類可以擁有父類的 init 裡的類容 派生子類除了父類的一些屬性,還會有自己的屬性和方法,這些就叫派生 如何使用 實現 class animal def init self,name,attack,hp self.na...

Python 類的繼承

有兩個模組 file1.py 和 file2.py file2中有個基類base def abc self return function abc and name self class base object def init self,name self.name name defrun sel...

Python 類的繼承

python中類的繼承,子類擁有繼承父類的方法和屬性,這一點上,與object c中是一樣的,整體上python語法和object c語法很想,但是swift與python這兩者是更像的語法上class parent 定義父類 parentattr 100 def init self print 呼...