当前位置:   article > 正文

Python3中super()函数的使用方法_python3 super

python3 super

简介

在开发中如果父类中的方法满足不了子类的需求,而又需要保留父类中的方法时,就需要在子类中对相应的方法进行重写扩展,在需要调用父类中同名的方法时就可以使用super()函数来实现,super()其实就相当于创建了一个对象。

说明

此处所使用的python版本为python3,python2和python3在类的创建和super()函数的使用差异如下:

1.类的创建

python2中如果没有继承父类则需要继承object类,而python3中则是默认的。

# python2
class A(object):
	pass
# python3
class A:
	pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
'
运行
2.super()的使用

python2:super(子类,self).父类方法名
python3:super().父类方法名,省略了括号中的参数

只对方法进行调用

在这里插入图片描述
在子类B中对父类A中的func_A方法进行了重写,并且在使用super()函数再次调用父类中的同名方法时能正常输出结果。

方法和属性都调用(不使用super()函数)

在这里插入图片描述

输出结果:

在这里插入图片描述
结果显示完成了子类B的实例化,并且可以直接调用父类的方法,但是无法使用父类的属性,无论是在子类调用的父类方法中还是子类直接访问都是不可以的。

方法和属性都调用(使用super()函数)

在这里插入图片描述

使用super()函数在子类的init方法中对父类的init方法进行了调用,使得子类不仅可以使用父类的方法,还可以使用在父类的init方法中声明的属性。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/845572
推荐阅读
相关标签
  

闽ICP备14008679号