首页 > 编程语言 >Python super()参数详解

Python super()参数详解

时间:2022-12-25 20:45:04浏览次数:63  
标签:__ mro Python self 详解 inst super cls

这里记录一下python中的super()的两个参数需要注意的关键点。

具体来说如以下代码所示:

# 子类B 父类A
class B(A):
    def __init__(self):
        super(B,self).__init__()

super(B, self)中self指向B,这句代码就是说找到self的mro表中B的下一个类,也就是找到B的父类A
super的工作原理如下:

# cls代表类,inst代表实例
def super(cls, inst):
    mro = inst.__class__.mro()
    return mro[mro.index(cls) + 1]

其中mro表是指类继承的顺序,super(cls, inst)获得的是cls在inst的MRO列表中下一个类。

mro表的具体计算在python3.x版本之后采用的是c3算法,具体关于c3算法的解释可以参考以下博文:Python多重继承问题-MRO和C3算法

标签:__,mro,Python,self,详解,inst,super,cls
From: https://www.cnblogs.com/pluto-/p/17004539.html

相关文章

  • 【编程基础】正则表达式基本使用及在Python中使用正则表达式匹配内容
    前言当接触一个新知识点或者技术时,只要问完哲学中的三大问题,基本就对这个知识点或者技术有大致的了解,这也是我学习一个新技术常用的方法,那到底是哪三大问题呢?是什么?怎么做,为......
  • 【编程实践】出行无忧,利用Python爬取天气预报
    前言天气预报就是应用大气变化的规律,根据当前及近期的天气形势,对某一地未来一定时期内的天气状况进行预测。它是根据对卫星云图和天气图的分析,结合有关气象资料、地形和季节......
  • Python开发环境
    以下为阿里算法平台的推荐版本为:python==3.6tensorflow==1.13.1(cpu&gpu)torch==1.5.0prophet==1.0.1cuda==10.0tfplus==1.0.9penrose=2.0.0常见包安装:Python......
  • 如何使用ChatGPT来自动化Python任务
    1.概述最近,比较火热的ChatGPT很受欢迎。今天,笔者为大家来介绍一下ChatGPT能做哪些事情。2.内容ChatGPT是一款由OpenAI开发的专门从事对话的AI聊天机器人。它的目标是让A......
  • 从一道CTF题学习python字节码到源码逆向
    概述:该题来源为2022爱春秋冬季赛ezpython,难度不是很大刚好适合我这样的萌新入门题目:30LOAD_CONST1(204)3LOAD_CONST......
  • python中pandas操作excel数据
    python自动化办公领域,pandas处理excel表格非常优秀,今天初次使用pandas,测试一下。#coding:utf-8importpandasaspdfile_path=r"G:\41个设备.xlsx"data=pd.read_excel......
  • 推荐-centos7安装高版本python3.10
    前言如果在centos7上编译安装python3.7以上版本,ssl功能会出问题,因为python3.7以后需要更高版本的openssl支持,这样的话,就需要提前编译安装高版本的openssl,比如1.1.1系列,这......
  • 不用描述符,不算懂 Python
    在日常的编码中,我们应该使用Python的描述符,来使代码更具有单一职责原则,也就是SRP(SingleResponsibilityPrinciple)原则,如果你还没有用过描述符,那快来看看怎么用吧,不然就......
  • Python学习笔记--SQL数据
    SQL本人受到Java的影响,数据库的话,就不按照教程走了,我就直接使用的是Navicat软件的数据库啦!SQL支持注释:两种单行注释(--和#),和一种多行注释(/**/)基础的使用语法:使......
  • python中socket使用UDP协议简单实现服务端与客户端通信
    UDP为不可靠传输,也就是发送方不关心对方是否收到消息,一般用于聊天软件。但现在的聊天软件虽然使用的是UDP协议,但已从代码层面上解决了丢失信息的问题。下面使用python代码......