python的继承详解
目录
- 1、单继承:子类只继承一个父类
- 2、多继承:子类继承多个父类
- 3、子类重写父类的同名属性和方法
- 4、子类调用父类同名属性和方法
- 5、
- 6、调用父类方法super()
- 总结
1、单继承:子类只继承一个父类
举例:煎饼果子老师傅在煎饼果子界摸爬滚打几十年,拥有一身精湛的煎饼果子技术,
并总结了一套"古法煎饼果子配方"。 可是老师傅年迈已久,
在嗝屁之前希望把自己的配方传承下去,于是老师傅把配方传给他的徒弟大猫...
虽然子类没有定义__init__方法初始化属性,也没有定义实例方法,但是父类有。
所以只要创建子类的对象,就默认执行了那个继承过来的__init__方法
子类在继承的时候,在定义类时,小括号()中为父类的名字 父类的属性、方法,会被继承给子类
2、多继承:子类继承多个父类
大猫掌握了师傅的配方,可以制作古法煎饼果子,
但是大猫是个爱学习的好孩子,他希望学到更多的煎饼果子的做法,
于是通过百度搜索,找到了一家煎饼果子培训学校。
多继承可以继承多个父类,也继承了所有父类的属性和方法。
注意:如果多个父类中有同名的 属性和方法,则默认使用第一个父类的属性和方法(根据类的魔法属性mro的顺序来查找) 多个父类中,不重名的属性和方法,不会有任何影响。
3、子类重写父类的同名属性和方法
大猫掌握了 师傅的配方 和 学校的配方,通过研究,大猫在两个配方的基础上,创建了一种全新的煎饼果子配方,称之为 "猫氏煎饼果子配方"。
大猫的新配方大受欢迎,但是有些顾客希望也能吃到古法配方和 现代配方 的煎饼果子...(子类调用父类的同名属性和方法)
4、子类调用父类同名属性和方法
无论何时何地,self都表示是子类的对象。在调用父类方法时,通过传递self参数,来控制方法和属性的访问修改。
5、
大猫的煎饼果子店非常红火,终于有一天,他成了世界首富!! 但是他也老了,所以他希望把 师傅的配方 和 学校的配方 以及自己的配方 继续传承下去...
6、调用父类方法super()
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
Python面向对象编程之继承与多态详解
本文实例讲述了Python面向对象编程之继承与多态.分享给大家供大家参考,具体如下: Python 类的继承 在OOP(Object Oriented Programming)程序设计中,当我们定义一个class的时候,可以从某个现有的class 继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Super class). 我们先来定义一个class Person,表示人,定义属性变量 name 及 sex (姓名和性别): 定义一
-
Python类的继承和多态代码详解
Python类的继承 在OOP(ObjectOrientedProgramming)程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Baseclass.Superclass). 我们先来定义一个classPerson,表示人,定义属性变量name及sex(姓名和性别): 定义一个方法print_title():当sex是male时,printman:当sex是female时,prin
-
python接口,继承,重载运算符详解
目录 1. 序列__getitem__ 2. __setitem__ 3. 抽象基类 4. 不要直接子类化内置类型 5. 继承顺序 6. 重载运算符 总结 1. 序列__getitem__ 如果没有 __iter__ 和 __contains__ 方法, Python 会调用 __getitem__ 方法, 设法让 迭代 和 in 运算符可用 class Foo: def __getitem__(self, pos): return range(0, 30, 10)[pos] f = Foo()
-
Python面向对象之继承代码详解
本文研究的主要是Python面向对象之继承的相关内容,具体如下. Python 继承 即一个派生类(derived class)继承基类(bass class)字段和方法.继承也允许把一个派生类的对象作为一个基类对象对待.例如,有这样一个设计,一个Cat类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例如,Cat是一个Animal). 继承实现了代码的重用. 继承的基本语法: class 派生类名(基类名1 [, 基类名2....]): 基类名写在括号里,基本类是在
-
python面向对象之类的继承详解
一.概述 面向对象编程 (OOP) 语言的一个主要功能就是"继承".继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 通过继承创建的新类称为"子类"或"派生类",被继承的类称为"基类"."父类"或"超类",继承的过程,就是从一般到特殊的过程.在某些 OOP 语言中,一个子类可以继承多个基类.但是一般情况下,一个子类只能有一个基类,要实
-
Python 的类、继承和多态详解
类的定义 假如要定义一个类 Point,表示二维的坐标点: # point.py class Point: def __init__(self, x=0, y=0): self.x, self.y = x, y 最最基本的就是 __init__ 方法,相当于 C++ / Java 的构造函数.带双下划线 __ 的方法都是特殊方法,除了 __init__ 还有很多,后面会有介绍. 参数 self 相当于 C++ 的 this,表示当前实例,所有方法都有这个参数,但是调用时并不需要指定. >>&g
-
python的继承详解
目录 1.单继承:子类只继承一个父类 2.多继承:子类继承多个父类 3.子类重写父类的同名属性和方法 4.子类调用父类同名属性和方法 5. 6.调用父类方法super() 总结 1.单继承:子类只继承一个父类 举例:煎饼果子老师傅在煎饼果子界摸爬滚打几十年,拥有一身精湛的煎饼果子技术, 并总结了一套"古法煎饼果子配方". 可是老师傅年迈已久, 在嗝屁之前希望把自己的配方传承下去,于是老师傅把配方传给他的徒弟大猫... 虽然子类没有定义__init__方法初始化属性,也没有定义实例方法,
-
python自定义异常实例详解
python自定义异常实例详解 本文通过两种方法对Python 自定义异常进行讲解,第一种:创建一个新的exception类来拥有自己的异常,第二种:raise 唯一的一个参数指定了要被抛出的异常 1.可以通过创建一个新的exception类来拥有自己的异常.异常应该继承自 Exception 类,或者直接继承,或者间接继承. >>>raiseNameError('HiThere') Traceback(most recent call last): File"<pysh
-
[js高手之路]原型式继承与寄生式继承详解
一.原型式继承本质其实就是个浅拷贝,以一个对象为模板复制出新的对象 function object( o ){ var G = function(){}; G.prototype = o; return new G(); } var obj = { name : 'ghostwu', age : 22, show : function(){ return this.name + ',' + this.age; } }; var obj2 = object( obj ); console.log(
-
scrapy处理python爬虫调度详解
学习了简单的知识点,就会想要向有难度的问题挑战,这里必须要夸一夸小伙伴们.不过我们今天不需要做什么程序的测试,只用简单的两个代码对比,小伙伴们就能在其中体会两者的不同和难易程度.scrapy能否适合处理python爬虫调度的问题,小编直接说出答案小伙伴们也不能马上信服,下面就让我们在示例中找寻答案吧. 总的来说,需要使用代码来爬一些数据的大概分为两类人: 非程序员,需要爬一些数据来做毕业设计.市场调研等等,他们可能连 Python 都不是很熟: 程序员,需要设计大规模.分布式.高稳定性的爬虫系统
-
python flask框架详解
Flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务.本文参考自Flask官方文档, 英文不好的同学也可以参考中文文档 1.安装flask pip install flask 2.简单上手 一个最小的 Flask 应用如下: from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World' if __na
-
Python绘图之详解matplotlib
一.matplotlib介绍 matplotlib是python从matlab继承的绘图库,可以满足大部分的日常使用,是目前最流行的底层绘图库. 二.matplotlib的使用 (一)导入模块[中文显示] 显示中文方面mac和windows根据自己电脑系统选一个即可 import matplotlib.pyplot as plt # 显示中文(mac) from matplotlib.font_manager import FontManager fm = FontManager() mat_f
-
Python办公自动化SFTP详解
目录 前言 一.sftp和ftp的区别是什么? 二.使用步骤 1.程序结构 2.配置文件 3.读入配置文件 4.sftp_client.py 5.email_client.py 6.main.py 总结 前言 提示:这里可以添加本文要记录的大概内容: 公司里B2B是通过WinSCP里SFTP与客户进行数据传输,WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端,本想偷个懒拿同事的WinSCP的SFTP代码给总部传数据,同事给的代码调用WinSCP就是执行不成功,不知道Wi
-
Python网络编程详解
1.服务器就是一系列硬件或软件,为一个或多个客户端(服务的用户)提供所需的"服务".它存在唯一目的就是等待客户端的请求,并响应它们(提供服务),然后等待更多请求. 2.客户端/服务器架构既可以应用于计算机硬件,也可以应用于计算机软件. 3.在服务器响应客户端之前,首先会创建一个通信节点,它能够使服务器监听请求. 一.套接字:通信端点 1.套接字 套接字是计算机网络数据结构,它体现了上节中所描述的"通信端点"的概念.在任何类型的通信开始之前,网络应用程序必须创建套接字
-
Python 多线程实例详解
Python 多线程实例详解 多线程通常是新开一个后台线程去处理比较耗时的操作,Python做后台线程处理也是很简单的,今天从官方文档中找到了一个Demo. 实例代码: import threading, zipfile class AsyncZip(threading.Thread): def __init__(self, infile, outfile): threading.Thread.__init__(self) self.infile = infile self.outfile =
随机推荐
- React Native验证码倒计时工具类分享
- MongoDB 3.4配置文件避免入坑的注意事项
- JavaScript滑移效果代码
- SqlDataSource 链接Access 数据
- Swift实现无限轮播效果
- js的alert样式如何更改如背景颜色
- ajax 操作全局监测,用户session失效的解决方法
- C++中的friend友元函数详细解析
- JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
- H5实现中奖记录逐行滚动切换效果
- Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
- 在ASP.NET 2.0中操作数据之五十五:编辑和删除现有的二进制数据
- Android ListView介绍及优化方案
- 详细解读tornado协程(coroutine)原理
- Python中协程用法代码详解
- 详解nginx平滑升级的过程
- android查看网络图片的实现方法
- windows下mysql 8.0.16 安装配置方法图文教程
- 实例详解带参数的 npm script
- Django ImageFiled上传照片并显示的方法