Python中super的用法
时间: 2024-03-06 10:41:23 浏览: 19
在 Python 中,super() 是一个内置函数,它用于调用父类的方法。它可以在子类中使用,以便在不重复编写代码的情况下重用父类的方法和属性。super() 函数可以使用两个参数:第一个参数是子类,第二个参数是子类对象。如果不提供任何参数,则 super() 函数默认使用当前类和实例。下面是一些 super() 函数的用法示例:
1. 调用父类方法
class ParentClass():
def foo(self):
print("ParentClass foo")
class ChildClass(ParentClass):
def foo(self):
super().foo()
print("ChildClass foo")
c = ChildClass()
c.foo()
# 输出结果:
# ParentClass foo
# ChildClass foo
2. 调用父类的构造函数
class ParentClass():
def __init__(self, var):
self.var = var
class ChildClass(ParentClass):
def __init__(self, var1, var2):
super().__init__(var1)
self.var2 = var2
c = ChildClass("hello", "world")
print(c.var)
print(c.var2)
# 输出结果:
# hello
# world
3. 多重继承中的 super()
class ParentClass1():
def foo(self):
print("ParentClass1 foo")
class ParentClass2():
def foo(self):
print("ParentClass2 foo")
class ChildClass(ParentClass1, ParentClass2):
def foo(self):
super(ParentClass1, self).foo()
super(ParentClass2, self).foo()
print("ChildClass foo")
c = ChildClass()
c.foo()
# 输出结果:
# ParentClass1 foo
# ParentClass2 foo
# ChildClass foo