gpt4 book ai didi

python - 类在需要新实例的地方保留以前的内容

转载 作者:行者123 更新时间:2023-11-28 21:59:03 25 4
gpt4 key购买 nike

我定义了一个类,以及一个创建该类实例的函数。我认为这个函数应该每次都创建一个新实例。但是,看起来它“继承”了上次调用的内容。任何人都可以解释这个吗?谢谢!

class test:
a = []
def b(self,x):
self.a.append(x)

def add():
t = test()
t.b(2)
return t

if __name__ == '__main__':
print add().a
print add().a
print add().a

输出:

[2]
[2, 2]
[2, 2, 2]

最佳答案

下面是 a 实例变量的定义:

class test(object):
def __init__(self):
self.a = []

a 之前的方式不是声明为实例变量,而是声明为在类的所有实例之间共享的类变量。

关于python - 类在需要新实例的地方保留以前的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17227090/

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