gpt4 book ai didi

python - 如何在 Python 中访问全局变量?

转载 作者:行者123 更新时间:2023-11-28 16:38:33 24 4
gpt4 key购买 nike

我有一个案例:

x = "me"

class Test():
global x

def hello(self):
if x == "me":
x = "Hei..!"
return "success"

我用 shell 尝试这个案例。

我如何打印 x x 的输出/值是 Hei..!

我试过

Test().hello # for running def hello
print x # for print the value of x

在我打印x之后,输出仍然是me

最佳答案

你需要在函数内部使用 global x 而不是类:

class Test():
def hello(self):
global x
if x == "me":
x = "Hei..!"
return "success"

Test().hello() #Use Parenthesis to call the function.

不知道为什么要从类方法更新全局变量,但另一种方法是将 x 定义为类属性:

class Test(object): #Inherit from `object` to make it a new-style class(Python 2)
x = "me"
def hello(self):
if self.x == "me":
type(self).x = "Hei..!"
return "success"

Test().hello()
print Test.x

关于python - 如何在 Python 中访问全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22776982/

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