
正文
python子类重名函数 python子类重写父类的方法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何在Python中调用父类的同名方法
你好,请看下面的例子和说明:python中类的初始化方法是__init__(),因此父类子类的初始化方法都是这个,如果子类不实现这个函数,初始化时调用父类的初始化函数,如果子类实现这个函数,就覆盖了父类的这个函数,既然继承父类,就要在这个函数里显式调用一下父类的__init__(),这跟C++,jAVA不一样,他们是自动调用父类初始化函数的。调用父类函数有以下方法:class A:def method(self, arg):pass class B(A):def method(self, arg):# A.method(self,arg) # 1# super(B, self).method(arg) #2super().method(arg) #31.直接写类名调用2.用super(type,obj).method(arg)方法调用。3.在类定义中调用本类的父类方法,可以直接super().method(arg).在代码中调用对象的父类的方法的示例:ob = B()super(B,ob).method(arg) #调用class B的父类class A的method。初始化中调用父类初始化方法示例:class B(A):
相关问答
Q1: Python中子类和父类是不是不能有同名成员变量
不要被迷惑,
python子类重名函数你在子类__init__函数内部重新覆盖python子类重名函数了value变量python子类重名函数的值而已;
class
P(object):
def
__init__(self):
self.value
=
def
get(self):
self.value
return
id(self.value)
class
C(P):
def
__init__(self):
super(C,
self).__init__()
#标准python子类重名函数的写法是这样python子类重名函数的,
先调用父类构造函数
self.value
=
44
#两句交换一下位置看看
C().get()
Q2: Python继承中有两个基类方法重名的问题。在线求解答~~~
1:在DerivedClass2
中python子类重名函数,执行init
用python子类重名函数了2个函数
BaseClass1.__init__(self)
BaseClass2.__init__(self)
所以
self.name
最后是
'BaseClass2_Name'
2:
调用class3.getname()
根据python多重继承规则,从左到右,深度优先,调用的是BaseClass1的getname方法。
因此输出这个结果。
python子类重名函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python子类重写父类的方法、python子类重名函数的信息别忘了在本站进行查找喔。







