首页 > 编程语言 >Python3中Super函数的使用

Python3中Super函数的使用

时间:2022-10-20 09:25:43浏览次数:53  
标签:父类 函数 self add print 执行 Super Python3

Super函数用法

主要用于调用父类函数

代码演示

class A:
    def __init__(self):
        self.n = 2
        print('此时执行A的自定义函数,self的n值为',self.n)

    def add(self, m):
        print('self is {0} @A.add'.format(self))

        print('执行A的add函数前N值为',self.n)
        self.n += m
        print('A的add函数执行完毕,此时N值为',self.n)


class B(A):
    def __init__(self):
        self.n = 3
        print('此时执行B的自定义函数,self的n值为', self.n)

    def add(self, m):
        print('self is {0} @B.add'.format(self))

        print('准备执行父类的add函数')
        super().add(m)
        print('父类add函数执行完毕')

        print('执行B的add函数前N值为', self.n)
        self.n += 3
        print('此时执行B的自定义函数,self的n值为', self.n)


b = B()
print('------------------------------')
b.add(2)
print('------------------------------')
print(b.n)

首先初始化子类

b = B()

初始化之后,b.n值为3,对子类进行add(2)操作,B的add函数首先执行

print('self is {0} @B.add'.format(self))

执行结果:
在这里插入图片描述
然后进入父类函数A的add执行模块:

print('准备执行父类的add函数')
super().add(m)
print('父类add函数执行完毕')

父类A类中首先执行Add函数的打印操作,此时传入的m值依旧是2,但是执行的是A的add函数,执行后结果为5:
在这里插入图片描述
执行结果之后,执行子类b自己的add函数,该add函数只会自动加3:

print('准备执行父类的add函数')
super().add(m)
print('父类add函数执行完毕')

执行结果为:
在这里插入图片描述

标签:父类,函数,self,add,print,执行,Super,Python3
From: https://www.cnblogs.com/lvtongxuan666/p/16808549.html

相关文章

  • Entity Framework教程-存储过程、视图、函数(Stored Procedures, Views, and Functions
    更新记录转载请注明出处:2022年10月20日发布。2022年10月10日从笔记迁移到博客。存储过程(StoredProcedures)在EFCore中定义存储过程直接调用sql命令定义存储过程......
  • C++ 函数重载解析策略
    参考《C++PrimerPlus》(第6版)中文版,StephenPrata著,张海龙袁国忠译,人民邮电出版社。C++使用重载解析策略来决定为函数调用使用哪一个函数定义。重载解析过程大致分为如......
  • chap 5函数 第四小组 学习小结
      什么是函数?通俗易懂的来说,函数就是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。指的是独立......
  • 记一个移位函数功能
    #include<stdio.h>#include<assert.h>intxrec_ctl_size(intnum);intmain(void){inti=0;for(i=1;i<255;i++){printf("i=%d,ctl_size=%d\n",i,xr......
  • 函数
    实例1、输出每日一贴(共享版)deffunction_tips():'''功能:每天输出一条励志文字'''importdatetimemot=["今天星期一:\n坚持下去不是因为我很坚强,而是因为我......
  • SQL:hive函数大全
    hive2.0函数大全:官方连接:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-Built-inOperators 1、聚合函数 2、日期函数......
  • Mac 卸载Python3(非系统自带Python2)
    brew卸载Python3brewuninstallpython3brewcleanup1.删除Python3.x程序:在Mac的应用程序目录找到Python3.x的目录,右键-移到废纸篓。或使用Mac自带的终端执行:s......
  • 爱上开源之golang入门至实战第四章函数(Func)(八)
    爱上开源之golang入门至实战第四章函数(Func)(八)4.4.8函数作为返回值在go语言里,func本质上是一个类型关键字。使用func来进行声明,本质上就是什么了一个func的对象。对象......
  • 超几何函数学习笔记
    参考:具体数学1.超几何函数HYPERGEOMETPICFUNCTIONS定义:\[F\left(\begin{gathered}a_1,\cdots,a_m\\b_1,\cdots,b_n\end{gathered}\middle|z\right)=F(a_1,\cdots,a_m......
  • ES生成器函数使用实例
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content......