python super()函数的基本使用
super主要来调用父类方法来显示调用父类,在子类中,一般会定义与父类相同的属性(数据属性,方法),从而来实现子类特有的行为。也就是说,子类会继承父类的所有的属性和方法,子类也可以覆盖父类同名的属性和方法。
classParent(object):
Value="Hi,Parentvalue"
deffun(self):
print("ThisisfromParent")
#定义子类,继承父类
classChild(Parent):
Value="Hi,Childvalue"
defffun(self):
print("ThisisfromChild")
c=Child()
c.fun()
c.ffun()
print(Child.Value)
#输出结果
#ThisisfromParent
#ThisisfromChild
#Hi,Childvalue
但是,有时候可能需要在子类中访问父类的一些属性,可以通过父类名直接访问父类的属性,当调用父类的方法是,需要将”self”显示的传递进去的方式。
classParent(object):
Value="Hi,Parentvalue"
deffun(self):
print("ThisisfromParent")
classChild(Parent):
Value="Hi,Childvalue"
deffun(self):
print("ThisisfromChild")
#调用父类Parent的fun函数方法
Parent.fun(self)
c=Child()
c.fun()
#输出结果
#ThisisfromChild
#ThisisfromParent
#实例化子类Child的fun函数时,首先会打印上条的语句,再次调用父类的fun函数方法
这种方式有一个不好的地方就是,需要经父类名硬编码到子类中,为了解决这个问题,可以使用Python中的super关键字。
classParent(object):
Value="Hi,Parentvalue"
deffun(self):
print("ThisisfromParent")
classChild(Parent):
Value="Hi,Childvalue"
deffun(self):
print("ThisisfromChild")
#Parent.fun(self)
#相当于用super的方法与上一调用父类的语句置换
super(Child,self).fun()
c=Child()
c.fun()
#输出结果
#ThisisfromChild
#ThisisfromParent
#实例化子类Child的fun函数时,首先会打印上条的语句,再次调用父类的fun函数方法
以上就是pythonsuper()函数的基本使用的详细内容,更多关于pythonsuper()函数的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。