gpt4 book ai didi

Python类从父级运行方法,但保留变量

转载 作者:太空宇宙 更新时间:2023-11-03 12:54:45 24 4
gpt4 key购买 nike

我有一个 python 类和一个父类。

class A:
def foo(self, num):
num1 = num + 3
print(num1)

class B(A):
def foo(self, num):
super().foo(num)
num2 = num1+3
print(num2)

当子方法在 super().food(num) 中调用它时,是否可以让子方法保留父方法中的变量,以便稍后在其自己的方法版本中使用。

或者是否有更好的方法来附加到您的父方法副本?

编辑:我的实际类(class)比这复杂得多。我只是以此为例。我正在制作一个 IRC 机器人,并想要一个其他机器人可以基于的基础对象。 (因此某些方法将在某些机器人中添加部分)

最佳答案

在 Python 中,您在成员函数中分配的变量不仅是继承树中该类的局部变量;它们甚至不能用于同一类的其他方法,或者当您稍后再次调用该成员函数时。换句话说,它们只是普通的局部变量。给对象成员变量赋值,必须显式指定对象

class A:
def foo(self, num):
self.num1 = num + 3
print(self.num1)

class B(A):
def foo(self, num):
super().foo(num)
self.num2 = self.num1+3
print(self.num2)

关于Python类从父级运行方法,但保留变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47240671/

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