python学习:重用父类功能的两种方式

在子类派生的新方法中如何重用父类的功能
方式一:指名道姓调用某一个类下的函数=》不依赖于继承关系

 class OldboyPeople:
     def __init__(self,name,age,sex):
         self.name=name
         self.age=age
         self.sex=sex

     def f1(self):
         print('%s say hello' %self.name)

 class Teacher(OldboyPeople):
     def __init__(self,name,age,sex,level,salary):
         OldboyPeople.__init__(self,name,age,sex)

         self.level = level
         self.salary=salary

 tea_obj=Teacher('egon',18,'male',10,3000)
 print(tea_obj.__dict__)

方式二:super()调用父类提供给自己的方法=》严格依赖继承关系

调用super()会得到一个特殊的对象,该对象会参照发起属性查找的那个类的mro,去当前类的父类中找属性
提示:在Python2中super的使用需要完整地写成super(自己的类名,self) ,而在python3中可以简写为super()。

 #Python学习交流群:711312441
 class OldboyPeople:
     def __init__(self,name,age,sex):
         self.name=name
         self.age=age
         self.sex=sex

     def f1(self):
         print('%s say hello' %self.name)

 class Teacher(OldboyPeople):
     def __init__(self,name,age,sex,level,salary):
         # super(Teacher,self).__init__(name,age,sex)
         super().__init__(name,age,sex) # 调用的是方法,自动传入对象

         self.level = level
         self.salary=salary

 # print(Teacher.mro())
 tea_obj=Teacher('egon',18,'male',10,3000)
 print(tea_obj.__dict__)

super()案例

class A:
    def test(self):
        print('from A')
        super().test()

class B:
    def test(self):
        print('from B')

class C(A,B):
    pass

obj=C()
obj.test()

print(C.mro())

这两种方式的区别是:

方式一是跟继承没有关系的,而方式二的super()是依赖于继承的,并且即使没有直接继承关系,super()仍然会按照MRO继续往后查找

Original: https://www.cnblogs.com/djdjdj123/p/16732142.html
Author: Python探索牛
Title: python学习:重用父类功能的两种方式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/591951/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python中dataframe.groupby()根据数据属性对数据分组

    对下面代码理解错误的选项是? import pandas as pd import numpy as np data = {‘Name’: [‘语文’, ‘数学’, ‘语文’], …

    Python 2023年8月6日
    060
  • scrapy爬取微信公众号内容,多管道储存,orm数据储存

    scrapy基本操作 基本介绍:基于异步爬虫的框架。高性能的数据解析,高性能的持久化存储,全站数据爬取,增量式,分布式… 环境的安装: Linux: pip insta…

    Python 2023年10月3日
    031
  • 在Anaconda中升级Python版本(高版本Python无法与spyder兼容)

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年8月2日
    058
  • 如何在windows系统中下载Scrapy框架

    Scrapy简介 Scrapy是目前最主流的爬虫框架之一,是一个高级,快速,稳定的python框架。经常用于数据爬取,数据保存,数据监测等。除了Scrapy框架还有Crawley框…

    Python 2023年10月1日
    073
  • Python正则表达式(Python RegEx)

    Python正则表达式 Python正则表达式 快速参考 函数详解 match() search() 捕获和分组 Match对象 sub() compile() findall()…

    Python 2023年10月31日
    042
  • 微信小程序 | 小程序WXSS-WXML-WXS

    🖥️ 微信小程序 专栏:小程序WXSS-WXML-WXS🧑‍💼 个人简介:一个不甘平庸的平凡人🍬✨ 个人主页:CoderHing的个人主页🍀 格言: ☀️ 路漫漫其修远兮,吾将上下…

    Python 2023年10月7日
    042
  • <Linux线程概念及线程控制>——《Linux》

    文件描述符表 每种信号的处理方式(SIG_ IGN 、SIG_ DFL 或者自定义的信号处理函数) 当前工作目录 用户id 和组id 进程和线程的关系如下图 : 关于进程线程的问题…

    Python 2023年9月15日
    035
  • m1 python安装scipy失败

    安装成功seaborn后,在import seaborn提示没有安装scipy包,于是便开始了不断安装失败的过程。 介绍下环境:mac m1芯片,miniforge,python3…

    Python 2023年8月3日
    036
  • python小游戏——兔鼠大战

    python小游戏——兔鼠大战 一.准备环境:更改设置pip 国内镜像 在使用pycharm来制作小游戏写代码的时候需要编译环境,使用pip镜像源,由于pip管理工具安装库文件时,…

    Python 2023年9月21日
    024
  • 采用scrapy对秀动网演出信息爬取

    爬取结果 mongodb数据库: ; spider文件 分析秀动网站页面的布局,准备爬取我们需要的信息。 没有粘贴代码,简单讲解一下爬取上海所有的演出信息。 parse方法里面定义…

    Python 2023年10月3日
    022
  • django中的中间件

    1. 什么是中间件 中间件是django的门户,在请求响应进入进出django的时候,都需要先经过中间件,用来全局改变django的输入和输出。 django中自带7个中间件,每个…

    Python 2023年11月1日
    035
  • 基于Java+SpringBoot+Vue+uniapp微信小程序零食商城系统设计和实现

    博主介绍: ✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技…

    Python 2023年11月4日
    066
  • python对月饼数据进行可视化,看看哪家最划算

    Original: https://www.cnblogs.com/Qqun261823976/p/16661850.htmlAuthor: python倩Title: pytho…

    Python 2023年11月1日
    038
  • 【手把手教你学会51单片机】数码管的动态显示

    注:本文章转载自《手把手教你学习51单片机》!因转载需要原文链接,故无法选择转载!如若侵权,请联系我进行删除!上传至网络博客目的为了记录自己学习的过程的同时,同时能够帮助其他一同学…

    Python 2023年11月7日
    091
  • pandas中loc与iloc的用法

    初衷 由于个人不经常使用这个常见的pandas函数,所以总是用到的时候不熟练需要百度一下,所以本文对函数用法做一个详细的笔记以比便于自己记忆。 从名称来区别loc与iloc 从字母…

    Python 2023年8月8日
    041
  • Python ❀ 打印乘法口诀表

    Python ❀ 打印乘法口诀表 原创 无糖可乐没有灵魂2022-06-24 19:19:33博主文章分类:Python ©著作权 文章标签 取值 乘法表 文章分类 Python …

    Python 2023年5月25日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球