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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。