gpt4 book ai didi

python - 为什么 python + pylons "remember"之前指定了类变量?

转载 作者:行者123 更新时间:2023-12-01 06:17:36 24 4
gpt4 key购买 nike

我有一个简单的 python + pylons 表单,可以提交到 Controller 。然而,每个页面加载似乎并不是该类的新实例。相反,在上一个页面加载时指定的类变量仍然可以访问。

这是怎么回事?解决办法是什么?

最佳答案

程序员的一个常见疏忽是,将列表 [] 定义为默认参数或类初始值设定项仅计算一次。如果您有列表等类变量,我建议您在 init 中初始化它们。我给你举个例子。

>>> class Example(object):
... a = []
... def __init__(self):
... self.b = []
...

>>> foo = Example()
>>> bar = Example()

>>> foo.a
[]
>>> bar.a
[]
>>> foo.b
[]
>>> bar.b
[]

>>> foo.a.append(1)
>>> foo.b.append(2)
>>> foo.a
[1]
>>> foo.b
[2]
>>> bar.a
[1]
>>> bar.b
[]

关于python - 为什么 python + pylons "remember"之前指定了类变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2368482/

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