gpt4 book ai didi

Python:从子方法调用父方法内的子方法

转载 作者:行者123 更新时间:2023-12-01 22:05:48 25 4
gpt4 key购买 nike

我希望能够从父类中回收一个方法,该方法在该父类中使用了第二个方法。然而,第二种方法在子类中被覆盖了。我希望回收的父方法在从子类调用时使用新的重写的第二个方法。我希望它如何工作的一个例子有望使这一点更清楚:

class Parent:
def method1(self, num):
return num**2
def method2(self, list_size):
return [self.method1(i) for i in range(list_size)] #List of squares

class Child(Parent):
def method1(self, num): #Overrides corresponding parent method
return num**3
def method2(self, list_size):
return super().method2(list_size) #Returns a list of cubes using child's method 1.

这在 python3 中可行吗?或者调用父方法 2 也会使用父方法 1?我希望重用父类的大部分内容,因为子类仅在几个方面有所不同。像在父类中嵌套的方法使它更通用。

谢谢!

编辑:我忘了用简单的代码来测试它!如果有人想知道的话,它确实像我想要的那样工作!

最佳答案

简短的回答:是的。刚刚尝试使用打印件对您的代码稍作修改。

class Parent:
def method1(self):
print("Parent method1")

def method2(self):
print("Parent method2")
self.method1()


class Child(Parent):
def method1(self):
print("Child method1")

def method2(self):
print("Child method2")
super().method2()


c = Child()
c.method2()

这是输出:

Child method2

Parent method2

Child method1

如您所见,使用的 method1 是子方法。

关于Python:从子方法调用父方法内的子方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52083862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com