如何从基类调用方法

2023-02-06 13:51:45 发布

您现在位置:Python中文网/ 问答频道 /正文

class Base():
    def __init__(self):
        print("test")

    def first_func(self):
        print("first function call")


class Deriv(Base):
    def __init__(self):
        Base.__init__(self)

    def first_func(self):
        print("Test Derived")

C = Deriv()
C.first_func() # It gives output "Test Derived"

如何仅使用对象C和python2.7从基类(class base)调用第一个函数()方法(输出应该是“first function call”)


Tags: testselfbaseinitdefitfunctioncallclassfirstfuncprintderivderived
1条回答
网友
1楼 · 发布于 2023-02-06 13:51:45

可以使用Base.first_func(C)显式调用基类函数:

class Base():
    def __init__(self):
        print("test")

    def first_func(self):
        print("first function call")


class Deriv(Base):
    def __init__(self):
        Base.__init__(self)

    def first_func(self):
        print("Test Derived")

C = Deriv()
Base.first_func(C) 

输出为:

test
first function call

如果您是using new-style classes(即,您从object派生出Base),则使用super是首选,如here中所述

相关问题 更多 >