【问题标题】:How to call a parent class's function? [duplicate]如何调用父类的函数? [复制]
【发布时间】:2021-11-15 08:45:34
【问题描述】:

我有一个带有函数的父类。有一个父类的子类具有相同的函数名,但我不想像往常一样重写它,我也想调用父类的函数。

这是一个例子:

class Person:
    def __init__(self,p):
        self.p = p
    def printp(self):
        print(self.p)

class Bob(Person):
    def printp(self):
        print('letter')
        
b = Bob('p')
b.printp()

目前,这会打印“p”。我想打印:

p
letter

【问题讨论】:

  • Person.printp顶部添加super().printp()

标签: python python-3.x class subclass


【解决方案1】:

这可能是一种解决方案:

class Person:
    def __init__(self,p):
        self.p = p
    def printp(self):
        print(self.p)

class Bob(Person):
    def printp(self):
        # here I use super to call parent class printp()
        super().printp()
        print('letter')
        
b = Bob('p')
b.printp()

输出:

p
letter

【讨论】:

    【解决方案2】:

    你可以像这样从子方法调用父方法:

    class Bob(Person):
        def printp(self):
            super().printp()
            print('letter')
    

    【讨论】:

      猜你喜欢
      • 2020-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      相关资源
      最近更新 更多