python3中的類繼承你真的了解嗎
之前一直對(duì)于python類的繼承機(jī)制認(rèn)知的比較混亂,今天學(xué)習(xí)記錄一下。
(1)首先使用直接繼承的方式
class parent():
def __init__(self):
self.a="這是父類a"
print("父類初始化")
def fuc(self):
print(self.a)
class child(parent):
def __init__(self):
print("子類初始化")
c=child()
c.fuc()運(yùn)行結(jié)果為:
子類初始化
AttributeError: 'child' object has no attribute 'a'
Process finished with exit code 1
可見子類沒有繼承父類中屬性
(2)在子類中定義屬性
class parent():
def __init__(self):
self.a="這是父類a"
print("父類初始化")
def fuc(self):
print(self.a)
class child(parent):
def __init__(self):
self.a="這是子類a"
print("子類初始化")
c=child()
c.fuc()運(yùn)行結(jié)果:
子類初始化
這是子類a
可見在子類中繼承了父類的方法
(3)如果想要繼承父類中的屬性,一般使用super方法:
class parent():
def __init__(self):
self.a="這是父類a"
print("父類初始化")
def fuc(self):
print(self.a)
class child(parent):
def __init__(self):
super(child, self).__init__()
print("子類初始化")
c=child()
c.fuc()運(yùn)行結(jié)果:
父類初始化
子類初始化
這是父類a
使用super方法程序在實(shí)例化子類的時(shí)候會(huì)首先調(diào)用父類中__init__,并將屬性賦予子類
(4)如果需要在子類的__init__中傳入?yún)?shù)則可以這樣使用:
class parent():
def __init__(self):
self.a="這是父類a"
print("父類初始化")
def fuc(self):
print(self.a)
class child(parent):
def __init__(self,m):
super(child, self).__init__()
print("子類初始化")
self.m=m
c=child(1)
print(c.m)運(yùn)行結(jié)果:
父類初始化
子類初始化
1
(5)如果想要將參數(shù)傳入到父類中可以這樣使用:
class parent():
def __init__(self,m):
self.a="這是父類a"
print("父類初始化")
self.m = m
def fuc(self):
print(self.m)
class child(parent):
def __init__(self,m):
super(child, self).__init__(m)
print("子類初始化")
c=child(1)
c.fuc()運(yùn)行結(jié)果:
父類初始化
子類初始化
1
當(dāng)子類中與父類中有同樣的屬性時(shí)子類中的屬性會(huì)覆蓋父類的屬性
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python的pdb調(diào)試命令的命令整理及實(shí)例
這篇文章主要介紹了python的pdb調(diào)試命令的命令整理及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-07-07
詳解從Django Rest Framework響應(yīng)中刪除空字段
這篇文章主要介紹了詳解從Django Rest Framework響應(yīng)中刪除空字段,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
keras:model.compile損失函數(shù)的用法
這篇文章主要介紹了keras:model.compile損失函數(shù)的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Python中常見的反爬機(jī)制及其破解方法總結(jié)
今天給大家?guī)淼奈恼率顷P(guān)于Python的相關(guān)知識(shí),文章圍繞著Python中常見的反爬機(jī)制及其破解方法展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06
Python+Selenium實(shí)現(xiàn)無頭瀏覽器網(wǎng)頁截圖
這篇文章主要為大家詳細(xì)介紹了Python+Selenium實(shí)現(xiàn)無頭瀏覽器網(wǎng)頁截圖的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
python+JS?實(shí)現(xiàn)逆向?SMZDM?的登錄加密
這篇文章主要介紹了python+JS?實(shí)現(xiàn)逆向?SMZDM?的登錄加密,文章通過利用SMZDM平臺(tái)展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-05-05

