Python3中Super函数的使用
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函数执行完毕')
执行结果为:

Python3中Super函数的使用的更多相关文章
- 用python实现矩阵转置,python3 中zip()函数
前几天群里有同学提出了一个问题:手头现在有个列表,列表里面两个元素,比如[1, 2],之后不断的添加新的列表,往原来相应位置添加.例如添加[3, 4]使原列表扩充为[[1, 3], [2, 4]],再 ...
- Python3中super()的参数传递
1. super([type[, object-or-type]]) super() 在使用时至少传递一个参数,且这个参数必须是一个类. 通过super()获取到的是一个代理对象,通过这个对象去查找父 ...
- Python中super函数的用法
之前看python文档的时候发现许多单继承类也用了super()来申明父类,那么这样做有何意义? 从python官网文档对于super的介绍来看,其作用为返回一个代理对象作为代表调用父类或亲类方法.( ...
- Python3中map函数的问题
在Python2中map函数会返回一个list列表,如代码: >>> def f(x, y): return (x, y) >>> l1 = [ 0, 1, 2, ...
- python3中reduce()函数的使用方法示例
reduce() 函数会对参数序列中元素进行累积,下面这篇文章主要给大家介绍了关于python中reduce()函数的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学 ...
- python2和python3中filter函数
在python2和python3中filter是不同的,其中在python2中filter返回的是一个list,可以直接使用 >>> a = [1,2,3,4,5,6,7] > ...
- python3中map函数
map函数是Python里面比较重要的函数 map函数后面必须接的是序列(元组/列表/字符串) 在python2中执行一些语句 >>> map(str,[1,2,3,4]) ['1' ...
- python3中匿名函数做参数,匿名函数做实参,eval关键字
一:说到匿名函数,大家都感到陌生又熟悉,今天我带大家了解一下py3中的匿名函数,以及匿名函数作为函数的参数的情况 主要通过以下实例来说明: 实例一: newarr =[33,44444,6222,88 ...
- Python3中的函数 大全
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print().但也可以自己创建 ...
- python3中shuffle函数
1. shuffle函数与其他函数不一样的地方 shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!仅仅是实现了对list元素进行随机排序的一种功能 请看下面的坑 ...
随机推荐
- 10、RestTemplate方式实现远程调用Client
一.JSONObject类详解: JSONobject是FastJson提供的对象,在API中是用一个私有的常量map进行封装的,实际就是一个map,只不过 FastJson对其进行了封装,添加了很多 ...
- kali开启ssh并开机自启
安装和启用SSH Kali默认是没有安装ssh和启用ssh的 我们需要先安装:apt install ssh 然后vim /etc/ssh/sshd_config (如果不需要启用Root登陆可以跳过 ...
- pulsar集群搭建——生产环境
pulsar集群搭建 前置条件,需要JDK环境 192.168.1.1 192.168.1.2 192.168.1.3 写入hosts 所有机器都需要执行 $ cat >>/etc/hos ...
- 官网下载CentOS系统镜像过程
想学习CentOS系统,但是不知道镜像去哪里搞,随便去个第三方发现要么要注册,要么各种广告病毒,或者好不容易找到官网,不仅全英文,有些专业术语也不懂,本文说明官网下载自己想要的CentOS镜像整个流程 ...
- A排列方案
递归实现排列型枚举 把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序. 输入格式 一个整数 n. 输出格式 按照从小到大的顺序输出所有方案,每行 1 个. 首先,同一行相邻两个数用 ...
- Java基础篇——集合框架
集合--对象的容器 集合与数组相似,不同的是,集合的长度可变并且只能组合引用类型数据,如果要组合基本类型,则需要装箱成包装类 Collection体系集合 Collection父接口 Collecti ...
- [Leetcode]设计循环队列
题目 代码 class MyCircularQueue { public: /** Initialize your data structure here. Set the size of the ...
- Mysql--回顾提要
一.写在前 知识学了就忘!不用就忘!我太健忘!特此记录!用于复习打卡!Mysql干就完事了! 二.来辣! MyISAM表把自增主键最大id记录到文件,重启也不会丢.InnoDB记录到内存,重启数据库和 ...
- 探究BrainSplit-集群脑裂
本篇文章将会以redis集群为例,分享在主从集群中会导致数据丢失的一个问题:BrainSplit-集群脑裂 1.什么是集群脑裂 所谓的脑裂,就是指在主从集群中,同时有两个主节点,它们都能接收写请求.而 ...
- Crossplane - 比 Terraform 更先进的云基础架构管理平台?
️URL: https://crossplane.io/ Description: 将云基础架构和服务组成自定义平台 API 简介 在 11 月的 KCD 上海现场,听了一场阿里云的工程师关于他们自己 ...