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進(jìn)行數(shù)據(jù)清洗以及值處理
這篇文章主要介紹了用Python進(jìn)行數(shù)據(jù)清洗以及值處理,數(shù)據(jù)分析中,數(shù)據(jù)清洗是一個(gè)必備階段。數(shù)據(jù)分析所使用的數(shù)據(jù)一般都很龐大,致使數(shù)據(jù)不可避免的出現(xiàn)重復(fù)、缺失、異常值等異常數(shù)據(jù),如果忽視這些異常數(shù)據(jù),可能導(dǎo)致分析結(jié)果的準(zhǔn)確性,需要的朋友可以參考下2023-07-07
Python 列表(List) 的三種遍歷方法實(shí)例 詳解
這篇文章主要介紹了Python 列表(List) 的三種遍歷方法實(shí)例 詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04
PyQt QListWidget修改列表項(xiàng)item的行高方法
今天小編就為大家分享一篇PyQt QListWidget修改列表項(xiàng)item的行高方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
keras 多任務(wù)多l(xiāng)oss實(shí)例
這篇文章主要介紹了keras 多任務(wù)多l(xiāng)oss實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python 逆向爬蟲正確調(diào)用 JAR 加密邏輯
這篇文章主要介紹了python 逆向爬蟲正確調(diào)用 JAR 加密邏輯,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01
Python中字符串格式化str.format的詳細(xì)介紹
python從2.6開始支持format,新的更加容易讀懂的字符串格式化方法,下面這篇文章主要介紹了Python中字符串格式化str.format的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-02-02
python訪問mysql數(shù)據(jù)庫的實(shí)現(xiàn)方法(2則示例)
這篇文章主要介紹了python訪問mysql數(shù)據(jù)庫的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了兩種Python操作MySQL數(shù)據(jù)庫的相關(guān)技巧,需要的朋友可以參考下2016-01-01

