類型1:父類和子類的實例變量均不需要傳遞
class A(object):
def __init__(self):
self.name = "cui"
def get_name(self):
return self.name
class B(A):
def __init__(self):
super(B,self).__init__()
self.age = 12
b = B()
類型2:父類的實例變量不需要傳遞,子類的實例變量需要傳遞
class A(object):
def __init__(self):
self.name = "zhang"
def get_name(self):
return self.name
class B(A):
def __init__(self,age):
super(B,self).__init__()
self.age = age
b = B("san")
類型3:父類有部分實例變量需要傳遞,子類實例變量需要傳遞
class A(object):
def __init__(self,sex):
self.name = "zhang"
self.sex = sex
def get_name(self):
return self.name + self.sex
class B(A):
def __init__(self,sex,age):
super(B,self).__init__(sex)
self.age = age
b = B("男",12)
類型4:父類和子類的所有變量都需要傳遞
class A(object):
def __init__(self,name,sex):
self.name = name
self.sex = sex
def get_name(self):
return self.name + self.sex
class B(A):
def __init__(self,name,sex,age):
super(B,self).__init__(name,sex)
self.age = age
b = B("zhang","男",12)
類型5:父類變量都需要傳遞,子類有部分實例變量需要傳遞
class A(object):
def __init__(self,name,sex):
self.name = name
self.sex = sex
def get_name(self):
return self.name + self.sex
class B(A):
def __init__(self,name,sex,age):
super(B,self).__init__(name,sex)
self.age = age
self.courage = "高中"
b = B("zhang","男",12)
類型6:父類和子類都有部分實例變量需要傳遞
class A(object):
def __init__(self,name):
self.name = name
self.sex = "女"
def get_name(self):
return self.name + self.sex
class B(A):
def __init__(self,name,sex,age):
super(B,self).__init__(name)
self.age = age
self.courage = "高中"
b = B("zhang","男",12)
總結(jié):
子類繼承父類的構(gòu)造函數(shù)中,在子類的構(gòu)造函數(shù)中,__init__方法中的變量是包括自己和父類所有需要傳遞的變量,而在super().__init__方法中的參數(shù)僅僅包括父類需要傳遞的變量
def __init__(self,name,sex,age):
super(B,self).__init__(name)
self.age = age
self.courage = "高中"
以上就是python子類如何繼承父類的實例變量的詳細內(nèi)容,更多關(guān)于python子類繼承父類變量的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- 淺談對Python變量的一些認識理解
- python3 刪除所有自定義變量的操作
- Python全局變量global關(guān)鍵字詳解
- python變量作用域與列表入門詳解
- 總結(jié)Python變量的相關(guān)知識