继承是面向对象的三大特征之一,也是实现代码复用的重要手段。继承经常用于创建和现有类功能类似的新类,又或是新类只需要在现有类基础上添加一些成员(属性和方法),但又不想直接将现有类代码复制给新类。

Python 中,实现继承的类称为子类,被继承的类称为父类(也可称为基类、超类)。子类继承父类的语法是:在定义子类时,将多个父类放在子类之后的圆括号里。语法格式如下:class 类名(父类1, 父类2, ...):

#类定义部分

注意,Python 的继承是多继承机制,即一个子类可以同时拥有多个直接父类。

下面程序示范了子类继承父类的特点。下面是 Fruit 类的代码:class Fruit:

def info(self):

print("我是一个水果!重%g克" % self.weight)

class Food:

def taste(self):

print("不同食物的口感不同")

# 定义Apple类,继承了Fruit和Food类

class Apple(Fruit, Food):

pass

# 创建Apple对象

a = Apple()

a.weight = 5.6

# 调用Apple对象的info()方法

a.info()

# 调用Apple对象的taste()方法

a.taste()

运行结果为:我是一个水果!重5.6克

不同食物的口感不同

上面程序中,定义了两个父类:Fruit 类和 Food 类,接下来定义了一个 Apple 类,该类本身是空类,但其继承自 Food 类和 Fruit 类。因此,在主程序部分创建了 Apple 对象之后,可以访问 Apple 对象的 info() 和 taste() 方法,这表明 Apple 对象也具有了 info() 和 taste() 方法,这就是继承的作用,即子类扩展(继承)了父类,将可以继承得到父类定义的方法,这样子类就可复用父类的方法了。

更多学习内容,请点击Python学习网。

python中的继承有什么特点_Python类的继承机制是什么相关推荐

  1. python中的继承有什么特点_python类的继承是什么?类的继承有什么样的规则?

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

  2. python 基类 派生类_在Python中具有两个子(派生)类的继承示例

    python 基类 派生类 In this program, we have a parent class named Details and two child classes named Empl ...

  3. python 中关于无法导入自己写的类。解决方法

    python 中关于无法导入自己写的类.解决方法 参考文章: (1)python 中关于无法导入自己写的类.解决方法 (2)https://www.cnblogs.com/jc-home/p/1209 ...

  4. flex中的架构,(举例UIComponent类的继承关系)

    flex中的架构,(举例UIComponent类的继承关系) UIComponent > FlexSprite> Sprite >DisplayObjectContainer> ...

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

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

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

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

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

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

  8. python类的继承与多态_python类的继承和多态

    现在属于是老年人的脑子,东西写着写着就忘了,东西记着记着就不知道了.之前学C++的时候就把类.对象这块弄得乱七八糟,现在是因为很想玩python,所以就看看python的类和对象. 就像说的,类有三个 ...

  9. python类的继承super方法_Python类的继承super相关原理解析

    看了网上许多关于super.mro.C3的介绍感觉没有一份很容易初学者理解的文档,直接看C3算法的话,比较难理解,也没必要,如果掌握一套规律的话,会轻松许多.我将网上这些博主的文章进行一个梳理总结,最 ...

最新文章

  1. python自然语言处理书籍推荐-自然语言处理有哪些好的入门书籍推荐?入门首先应该有哪些实践?...
  2. VC++ 字符串操作学习总结
  3. 解决方案:the program can't start because mspdb100.dll is missing from your computer
  4. Android -- I/O CALL SMS Layout
  5. vue 百度统计_2021暑期实习面经百度篇
  6. 模拟 Coder-Strike 2014 - Round 1 A. Poster
  7. 百度编辑器 ueditor .net开发
  8. windows 设置定时锁屏
  9. C# 基础(二十五)WPF/WinForm 控件的句柄是什么意思?
  10. 移动apn接入点哪个快_中国移动接入点设置哪个快
  11. RPC框架原理与实现
  12. canvas绘制星空底图
  13. JavaScript用事件委托实现留言板功能
  14. tomcat使用详解(week4_day2)--技术流ken
  15. volatile关键字对编译器优化的影响
  16. uva 714 Copying Books(二分法求最大值最小化)
  17. em算法直观_直观地解释了10种图形算法
  18. 如何保护个人的隐私安全
  19. inkscape如何裁剪_科学网—如何在Inkscape图中输入LaTeX公式? - 李金磊的博文
  20. 【考后须知】2021上半年软考成绩查询时间、合格标准、查询方法! ​

热门文章

  1. asp.net性能优化之使用Redis缓存(入门)
  2. Yocto tips (17): Yocto License问题:restricted license not whitelisted in LICENSE_FLAGS_WHITELIST
  3. iOS开发值多线程简单介绍
  4. 网站建设对于哪些刚起步的企业是有必要的
  5. Kali2.0——ssh使用
  6. MVC3、如何应用EntityFramework 连接MySql 数据库
  7. 【HISI系列】之SDK编码器开发
  8. 【github系列】github代码仓创建及更新
  9. java三种循环结构_Java的三种结构(循环结构)
  10. C++自学22:复制内存(memcpy)/设置内存(memset)