gpt4 book ai didi

python - 静态变量的问题

转载 作者:太空宇宙 更新时间:2023-11-04 09:19:07 24 4
gpt4 key购买 nike

我正在尝试声明静态变量,现在我的代码是:

class StaticClass:
varA = 'hello'

@staticmethod
def staticMethod():
varA='bye'

下面代码的结果是 hello。为什么不“再见”?

StaticClass.staticMethod()

print StaticClass.varA

最佳答案

staticMethod() 中的代码将字符串bye 分配给局部变量varA,然后返回并删除局部变量。函数内的赋值总是在 Python 中创建局部变量。 Python 中的 staticmethod 根本无法访问该类——为此您需要一个 classmethod:

class StaticClass:
var_a = 'hello'

@classmethod
def cls_method(cls):
cls.var_a = 'bye'

关于python - 静态变量的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5003584/

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