一、單繼承(只繼承乙個父類,父類沒有繼承其他父類)
classa(
object):
def__init__
(self)
:print
("i am class a"
)class
c(a)
:def
__init__
(self)
:super
(c, self)
.__init__(
)print
('yes'
)# super(c, self).__init__(),這句話的解釋是:
# c是類,self是c的乙個例項,super把self轉化為父類a的乙個例項物件,然後去使用init()方法
c = c(
)
i am class a
yes
二、多重繼承(父類也是繼承了物件的類的)
classa(
object):
def__init__
(self)
:print
('i am class a'
)class
b(a)
:def
__init__
(self)
:super
(b, self)
.__init__(
)print
('i am class b'
)class
c(b)
:def
__init__
(self)
:super
(c, self)
.__init__(
)print
('yes'
)
c = c(
)
i am class a
i am class b
yes
三、多繼承(繼承多個單獨的類,不是多級的關係)
classa(
object):
def__init__
(self)
:print
("i am class a"
)def
foo(self)
:print
("i am another a"
)classb(
object):
def__init__
(self)
:print
('i am class b'
)def
foo(self)
:print
("i am another b"
)class
c(a, b)
:def
__init__
(self)
:super
(c, self)
.__init__(
)print
('yes'
)
c = c(
)c.foo(
)
i am class a
yesi am another a
總結:結果是繼承了a的屬性,然後呼叫時先呼叫了a的函式,然後使用例項呼叫foo函式,列印出來的也是a的foo方法,如果我們寫成class c(b, a),則會先呼叫b的屬性。 python中super 函式的理解與基本使用
目錄 python是一門物件導向的語言,定義類時經常要用到繼承,在類的繼承中,子類繼承父類中已經封裝好的方法,不需要再次編寫,如果子類如果重新定義了父類的某一方法,那麼該方法就會覆蓋父類的同名方法,但是有時我們希望子類保持父類程式設計客棧方法的基礎上進行擴充套件,而不是直接覆蓋,就需要先呼叫父類的方...
Python基本操作
沒有認真學習過python,偶爾遇到,總是模仿著寫。在寫程式的過程中,發現了許多不同於matlab的有趣語法。我將人的映象,由於不熟悉語法,結果發現出現了好奇怪的結果。貼兩張圖,以示警醒 看起來蠻炫的吧,哈 言歸正題吧 1 copy.copy 淺拷貝 只拷貝父物件,不會拷貝物件的內部的子物件。比深拷...
基本python操作
格式化輸入輸出 print hello s world print hello name s print hello format world 格式符為真實值預留位置,並控制顯示的格式。格式符可以包含有乙個型別碼,用以控制顯示的型別,如下 s 字串 採用str 的顯示 r 字串 採用repr 的顯示...