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其它相關文章!

推薦閱讀: