python子類如何繼承父類的實例變量
類型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)
總結:
子類繼承父類的構造函數中,在子類的構造函數中,__init__方法中的變量是包括自己和父類所有需要傳遞的變量,而在super().__init__方法中的參數僅僅包括父類需要傳遞的變量
def __init__(self,name,sex,age): super(B,self).__init__(name) self.age = age self.courage = "高中"
以上就是python子類如何繼承父類的實例變量的詳細內容,更多關於python子類繼承父類變量的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- python 特殊屬性及方法詳細解析
- python中super()函數的理解與基本使用
- Python中super().__init__()測試以及理解
- Python編程super應用場景及示例解析
- Python中super()的理解以及應用場景實例