Python 如何调用父类的构造函数
答案:2 悬赏:0 手机版
解决时间 2021-12-31 17:14
- 提问者网友:你挡着我发光了
- 2021-12-31 13:35
Python 如何调用父类的构造函数
最佳答案
- 五星知识达人网友:第幾種人
- 2022-01-10 04:11
"""
共有以下二种方法
"""
##class Foo(object):
## def __init__(self):
## self.val =100
## print(self.val)
##class Foo2(Foo):
## def __init__(self):
## Foo.__init__(self) #类调用实例方法时,需要传入self指代的实例
## print(self.val)
##
##if __name__ == '__main__':
## foo2 = Foo2()
class Foo(object):
def __init__(self):
self.val =100
class Foo2(Foo):
def __init__(self):
super().__init__()
print(self.val)
if __name__ == '__main__':
foo2 = Foo2()
共有以下二种方法
"""
##class Foo(object):
## def __init__(self):
## self.val =100
## print(self.val)
##class Foo2(Foo):
## def __init__(self):
## Foo.__init__(self) #类调用实例方法时,需要传入self指代的实例
## print(self.val)
##
##if __name__ == '__main__':
## foo2 = Foo2()
class Foo(object):
def __init__(self):
self.val =100
class Foo2(Foo):
def __init__(self):
super().__init__()
print(self.val)
if __name__ == '__main__':
foo2 = Foo2()
全部回答
- 1楼网友:舊物识亽
- 2022-01-10 04:19
前面相关文章提过,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) #2
super().method(arg) #3
1.直接写类名调用
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):
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯