首页  >  文章  >  后端开发  >  Python继承中如何调用父类方法?

Python继承中如何调用父类方法?

Susan Sarandon
Susan Sarandon原创
2024-11-27 04:04:10499浏览

How Do I Call Parent Class Methods in Python Inheritance?

在 Python 中调用父类方法

Python 的继承机制允许派生类访问基类方法,但与 Perl 或 Java 不同的是,它不支持派生类访问基类方法。不要提供像“super”这样的关键字。相反,您需要显式引用父类。

示例:

考虑以下示例,其中 Bar 类扩展了 Foo 类:

class Foo:
    def frotz(self):
        return "Bamf"

class Bar(Foo):
    def frotz(self):
        # Attempt to explicitly call the parent class 'frotz' method
        return Foo.frotz(self)

这种方式需要显式指定父类,不方便深入

解决方案:使用 'super()' 函数

Python 2.2 及更高版本引入了 super() 函数,它提供了更优雅的解决方案:

class Bar(Foo):
    def frotz(self):
        # Now calling 'frotz' using the 'super()' function
        return super().frotz()

super() 函数根据派生类中的上下文智能地确定要继承的父类。这消除了显式指定父类的需要。

对于 Python

对于 Python

class Foo(object):
    def baz(self):
        pass

class Bar(Foo):
    def baz(self, arg):
        return super(Bar, self).baz(arg)  # Explicitly specifying 'Bar' as parent

对于 Python

3:

但是,对于 3 之前的 Python 版本,您必须显式选择使用新式类:对象基类用于启用 new-样式类语法。因此,在 Python 中,可以使用“super()”函数(首选)或通过显式引用父类(仅适用于 Python

以上是Python继承中如何调用父类方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn