super函数是Python3中的一个内置函数,用于调用父类的方法。它的作用是在子类中调用父类的方法,以实现代码的重用和继承。super函数能够自动判断调用哪个父类的方法,使得代码更加灵活和通用。
语法格式如下:
super([type[, object-or-type]])
其中: - type 是子类的类对象,可以省略。如果省略,则默认为当前的类对象。 - object-or-type 是当前对象或当前类型的一个实例。如果省略,则默认为当前对象。
例如,以下代码演示了如何使用 super() 函数以及它的语法:
class ParentClass: def __init__(self): self.name = "Parent" self.sex='M' class ChildClass(ParentClass): def __init__(self): super().__init__() self.age = 10 self.sex='F' c = ChildClass() print(c.name) # Output: Parent print(c.sex) #output: F print(c.age) # Output: 10
在这个例子中, ChildClass 类继承了 ParentClass 类。子类 ChildClass 覆盖子类的构造函数 __init__() 方法,但是仍然需要调用父类的构造函数以便继承父类的属性。因此, super().__init__() 语句在子类构造函数中调用父类构造函数。
c.name继承了父类,所以结果是Parent。
c.sex虽然父类中也存在,但是因为子类中也存在sex这一项,所以其结果仍然是子类的结果。
c.age是子类中的结果。
标签: python基础