python子类如何继承父类的实例变量

作者:bainianminguo 时间:2022-05-07 08:41:26 

类型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 = "高中"

来源:https://www.cnblogs.com/bainianminguo/p/11678214.html

标签:python,子类,父类,继承,变量
0
投稿

猜你喜欢

  • python输入错误后删除的方法

    2023-07-25 11:55:09
  • 960px下的黄金分割

    2009-07-31 14:33:00
  • SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)

    2012-07-21 14:45:15
  • 最简洁的SQL多重查询的解决方案

    2005-09-12 16:31:00
  • 说说tab设计

    2009-07-26 09:56:00
  • XML教程:什么是XML及XML和HTML的区别

    2008-09-05 17:21:00
  • PDO::errorInfo讲解

    2023-06-06 01:51:53
  • 将滚动条(scrollbar)保持在最底部的方法

    2008-02-21 10:05:00
  • PHP字典树(Trie树)定义与实现方法示例

    2023-11-15 00:39:50
  • 如何判断URL格式是否符合规范?

    2010-01-12 20:14:00
  • 详解Python如何实现发送带附件的电子邮件

    2022-03-20 13:33:46
  • python用BeautifulSoup库简单爬虫实例分析

    2022-04-02 21:42:00
  • 那些被我遗忘掉的XHTML标签们

    2008-06-07 14:27:00
  • 互联网产品设计零碎记

    2010-09-25 12:49:00
  • asp如何显示已在数据库编码了的相对应的记录?

    2010-06-09 18:44:00
  • 用Dreamweaver实现飘浮光球特效

    2008-03-03 12:28:00
  • MYSQL创建触发程序的方法

    2009-07-30 08:38:00
  • PHP数组交集的优化代码分析

    2023-09-29 21:58:59
  • 将不规则的Python多维数组拉平到一维的方法实现

    2023-11-05 19:47:15
  • 如何提升JavaScript的运行速度(DOM篇)[译]

    2009-02-25 12:24:00
  • asp之家 网络编程 m.aspxhome.com