python的super().__init__(name) 方法使用
时间: 2024-09-11 22:10:31 浏览: 60
python中super().__init__()
在Python中,`super().__init__(name)` 是一种常见的构造函数调用方式,通常用于继承(Inheritance)场景中。当你创建一个新类并从父类继承属性或方法时,`__init__` 方法可能会被覆盖以添加新的初始化步骤。`super()` 函数的作用是让你能够访问到父类的 `__init__` 方法,即使你在子类中没有直接引用它。
当你看到这样的调用 `super().__init__(name)`,这意味着子类实例正在初始化过程中,会先执行父类的 `__init__` 函数,将参数 `name` 传递给它。如果你的父类 `__init__` 方法接受一个名为 `name` 的参数,那么这个值会被传入到父类中做相应的处理。
例如:
```python
class Parent:
def __init__(self, name):
self.parent_name = name
class Child(Parent):
def __init__(self, child_name):
super().__init__(child_name) # 传递子类的 'child_name' 给父类的 __init__
self.child_name = child_name
c = Child("Alice")
print(c.parent_name) # 输出 "Alice" (因为实际上是 'child_name' 被父类的 __init__ 接收)
```
阅读全文