Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python super()

作者:冰残°零度伤   发布日期:2025-08-08   浏览:16

class Animal:
    def __init__(self, name):
        self.name = name
        print(f"Animal {name} is initialized.")

    def speak(self):
        print(f"{self.name} makes a sound.")


class Dog(Animal):
    def __init__(self, name, breed):
        super().__init__(name)  # 调用父类的构造函数
        self.breed = breed
        print(f"Dog {name} of breed {breed} is initialized.")

    def speak(self):
        super().speak()  # 调用父类的方法
        print(f"{self.name} barks.")


# 创建对象并调用方法
dog = Dog("Buddy", "Golden Retriever")
dog.speak()

解释说明:

  1. super() 的作用super() 函数用于调用父类(基类)的方法。在子类中,使用 super() 可以避免显式地指定父类名称,并且可以确保方法解析顺序(MRO, Method Resolution Order)正确。

  2. 构造函数中的 super():在 Dog 类的构造函数中,super().__init__(name) 调用了父类 Animal 的构造函数,确保父类的初始化逻辑被执行。

  3. 方法中的 super():在 Dog 类的 speak 方法中,super().speak() 调用了父类 Animalspeak 方法,然后再执行子类特有的行为(即狗会叫)。

  4. 输出结果

    • 当创建 Dog 对象时,首先会调用 Animal 类的构造函数,然后是 Dog 类的构造函数。
    • 当调用 speak 方法时,先执行父类的 speak 方法,再执行子类的扩展行为。

上一篇:用python编写斐波那契数列

下一篇:python random库怎么用

大家都在看

python时间格式

python开发windows应用程序

python中len是什么意思

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python的for i in range

npm config set python

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站