在这篇文章之中我们来了解一下python类的继承,对于刚刚接触到python这一编程语言的朋友来说,对于python类的继承的了解应该比较少,不过没关系,在接下来的文章之中我们就来了解一下python类的继承规则,我会在下文之中就python类的继承举例来进行分析。

类的继承

面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。

通过继承创建的新类称为子类或派生类,被继承的类称为基类、父类或超类。

继承语法class 派生类名(基类名)

...

在python中继承中的一些特点:

1、如果在子类中需要父类的构造方法就需要显示的调用父类的构造方法,或者不重写父类的构造方法。详细说明可查看:python 子类继承父类构造函数说明。

2、在调用基类的方法时,需要加上基类的类名前缀,且需要带上 self 参数变量。区别在于类中调用普通函数时并不需要带上 self 参数

3、Python 总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。

如果在继承元组中列了一个以上的类,那么它就被称作"多重继承" 。

语法

派生类的声明,与他们的父类类似,继承的基类列表跟在类名之后,如下所示:class SubClassName (ParentClass1[, ParentClass2, ...]):

...

实例分析# !/usr/bin/python

# -*- coding: UTF-8 -*-

class Parent: # 定义父类

parentAttr = 100

def __init__(self):

print "调用父类构造函数"

def parentMethod(self):

print '调用父类方法'

def setAttr(self, attr):

Parent.parentAttr = attr

def getAttr(self):

print "父类属性 :", Parent.parentAttr

class Child(Parent): # 定义子类

def __init__(self):

print "调用子类构造方法"

def childMethod(self):

print '调用子类方法'

c = Child() # 实例化子类

c.childMethod() # 调用子类的方法

c.parentMethod() # 调用父类方法

c.setAttr(200) # 再次调用父类的方法 - 设置属性值

c.getAttr() # 再次调用父类的方法 - 获取属性值

以上代码执行结果如下:调用子类构造方法

调用子类方法

调用父类方法

父类属性 :200

你可以继承多个类class A: # 定义类 A

.....

class B: # 定义类 B

.....

class C(A, B): # 继承类 A 和 B

.....

你可以使用issubclass()或者isinstance()方法来检测。

1.issubclass() - 布尔函数判断一个类是另一个类的子类或者子孙类,语法:issubclass(sub,sup)

2.isinstance(obj, Class) 布尔函数如果obj是Class类的实例对象或者是一个Class子类的实例对象则返回true。

以上就是本篇文章所讲述的所有内容,这篇文章主要介绍了python类的继承这一方面的知识。希望你能借助资料从而理解上述所说的内容以及所举的实例。希望我在这片文章所讲述的内容能够对你有所帮助,让你学习python更加轻松。

更多相关知识,请访问php中文网Python教程栏目。

以上就是python类的继承是什么?类的继承有什么样的规则?的详细内容,更多请关注php中文网其它相关文章!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

python中的继承有什么特点_python类的继承是什么?类的继承有什么样的规则?相关推荐

  1. python中对类变量的访问形式_Python 面向对象中类、方法、变量、实例化和对象的概念,python定义类和访问权限?python三大支柱封装、继承和多态-立地货...

    Python 面向对象搞懂Python类.方法.变量.实例化和对象的概念 面向对象技术简介 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.面 ...

  2. python中的object是什么意思_Python object类中的特殊方法代码讲解

    python版本:3.8class object: """ The most base type """ # del obj.xxx或del ...

  3. python中def _init_是什么意思_Python中self和__init__的含义与使用

    原文地址https://blog.csdn.net/love666666shen/article/details/78189984 Python中的self 在Python中的类Class的代码中,常 ...

  4. python中标识符下划线用作开头_python python中那些双下划线开头的那些函数都是干啥用用的...

    1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...

  5. python中new方法详解及_Python中new方法的详解

    new_ 方法是什么? __new__方法其实就是创建对象的方法 new()方法是在类准备将自身实例化时调用. 一个类可以有多个位置参数和多个命名参数,而在实例化开始之后,在调用 init()方法之前 ...

  6. python中的super用法详解_Python中super函数用法实例分析

    本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...

  7. python中最难的是什么_python什么的最难了

    学的人很少的,如果你没有学过编程,建议学c语言.因为python中文资料很少的. 你可以先了解一下phthon python的历史 python的创始人为guido van rossum.1989年圣 ...

  8. python中与0xf2相等的是_python中__str__与__repr__

    (1)背景 python中,对于类(自定义类)的实例对象的默认显示既没有太大用处,也不美观.比如: 1 classadder:2 def __init__(self,value=0):3 self.d ...

  9. python中_new_和_init_的区别_Python 中的__new__和__init__的区别

    [同] 二者均是Python面向对象语言中的函数,__new__比较少用,__init__则用的比较多. [异] __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例对象,是 ...

  10. python中template是什么意思啊_Python中Template使用的一个小技巧

    Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用. from string import Template s = Template("there ...

最新文章

  1. ZooKeeper内部原理
  2. MySQL必知必会读书笔记
  3. 串口端口被占用的解决方法
  4. GitLab [Webhooks] 实现自动化服务器部署
  5. Android4.0添加底层核心服务
  6. spring基于注解的声明式事务控制
  7. Java 动态加载class 并反射调用方法
  8. java将字符串转换成可执行代码
  9. Spring Security:基于内存的角色授权
  10. python 调用js类_Python 调用 JS 常用的4种方式,带你学会如何解密
  11. linux 间隔时间中断测试
  12. 【Codeforces Round #585 (Div. 2) E】Marbles【状压DP】
  13. Java 2 实用教程 第一章 Java入门
  14. 万物互联-stm32单片机简介、烧录、编程及其项目环境搭建
  15. keil5下载完成后程序不复位运行
  16. 篇16:Windows安装配置Nessus时遇到的一些问题说明
  17. 【操作系统】第3章 内存管理
  18. 夏日闪电惊雷想念父亲
  19. 速度最快的数据库---MEMSQL的安装与部署
  20. SAP Business One(SAP B1)国家增值税税率变更设置操作指引

热门文章

  1. Tomcat工程部署常见问题
  2. 样式表(CSS:Cascading Style Sheets)简要教程[上]
  3. 基于SSM实现网上购物商城系统
  4. anaconda更换镜像源
  5. 同样的代码,conda无法运行,命令行却可以运行
  6. 能说明白为啥三次握手的文章节选
  7. python输入与输出165
  8. DB2存储过程——条件判断语句if then
  9. 动手动脑——登录界面
  10. Oracle Schema Objects——Index