博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
super 小记
阅读量:5118 次
发布时间:2019-06-13

本文共 982 字,大约阅读时间需要 3 分钟。

Python3.x 和 Python2.x 的一个区别是: Python 3 可以使用直接使用 super().xxx 代替 super(Class, self).xxx :

Python3.x 实例:

class A:

pass
class B(A):
def add(self, x):
super().add(x)
Python2.x 实例:

class A(object): # Python2.x 记得继承 object

pass
class B(A):
def add(self, x):
super(B, self).add(x)
返回值
无。

实例

以下展示了使用 super 函数的实例:

!/usr/bin/python

-- coding: UTF-8 --

class FooParent(object):

def init(self):
self.parent = 'I'm the parent.'
print ('Parent')

def bar(self,message):    print ("%s from Parent" % message)

class FooChild(FooParent):

def init(self):
# super(FooChild,self) 首先找到 FooChild 的父类(就是类 FooParent),然后把类B的对象 FooChild 转换为类 FooParent 的对象
super(FooChild,self).__init__()
print ('Child')

def bar(self,message):    super(FooChild, self).bar(message)    print ('Child bar fuction')    print (self.parent)

if name == 'main':

fooChild = FooChild()
fooChild.bar('HelloWorld')
执行结果:

Parent

Child
HelloWorld from Parent
Child bar fuction
I'm the parent.

转载于:https://www.cnblogs.com/wdmx/p/9883874.html

你可能感兴趣的文章
Ubuntu下的eclipse安装subclipse遇到没有javahl的问题...(2天解决了)
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
WCF揭秘——使用AJAX+WCF服务进行页面开发
查看>>
【题解】青蛙的约会
查看>>
IO流
查看>>
mybatis调用存储过程,获取返回的游标
查看>>
设计模式之装饰模式(结构型)
查看>>
面向对象的设计原则
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
【转】 FPGA设计的四种常用思想与技巧
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
新手算法学习之路----二叉树(在一个二叉查找树中插入一个节点)
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
基于C#编程语言的Mysql常用操作
查看>>
s3c2440实验---定时器
查看>>
MyEclipse10安装SVN插件
查看>>
[转]: 视图和表的区别和联系
查看>>
Regular Experssion
查看>>
图论例题1——NOIP2015信息传递
查看>>