如何在Python中获取全局变量?

如何在Python中获取全局变量?,python,function,variables,global-variables,global,Python,Function,Variables,Global Variables,Global,对,所以我正在做一个节目 def aFunction(): aVariable = 5 aVariable = 9 aFunction() …这当然行不通。我试图做的是使变量在其他函数中是可变的,即函数。我该怎么做?我可以使用global语句吗?我听说过一些关于它的不好的事情,尽管我真的不记得为什么了。你应该使用global: def aFunction(): global aVariable aVariable = 5 aVariable = 9 aFunctio

对,所以我正在做一个节目

def aFunction():
    aVariable = 5

aVariable = 9
aFunction()

…这当然行不通。我试图做的是使变量在其他函数中是可变的,即函数。我该怎么做?我可以使用global语句吗?我听说过一些关于它的不好的事情,尽管我真的不记得为什么了。

你应该使用
global

def aFunction():
    global aVariable
    aVariable = 5

aVariable = 9
aFunction()
print aVariable #print 5

您应该使用
global

def aFunction():
    global aVariable
    aVariable = 5

aVariable = 9
aFunction()
print aVariable #print 5

这就是为什么全局变量在每种编程语言中都不好的综合解释:

对于您的问题,您可以使用返回值,例如:

def a_function(a_variable):
    return a_variable - 5

a_variable = 9
a_variable = a_function(a_variable)

这就是为什么全局变量在每种编程语言中都不好的综合解释:

对于您的问题,您可以使用返回值,例如:

def a_function(a_variable):
    return a_variable - 5

a_variable = 9
a_variable = a_function(a_variable)

重要的是要注意,只有在更改变量时才需要此选项。。。你一直都有阅读权限。。。也就是说,一般来说最好避免(+1)重要的是要注意,只有在更改变量时才需要这样做。。。你一直都有阅读权限。。。也就是说,通常最好避免(+1)一个函数不接受参数…你可以很容易地读取全局变量,但它应该把它作为一个参数或封装在一个类中。。。基本上我非常同意这个答案,我知道我可以用这个。但是我不想用aVariable作为参数调用函数,因为每次调用函数时我都不需要aVariable。。。如果这有道理的话。另外,我不想把变量传递给所有可能需要它的函数。函数不接受参数…你可以很容易地读取全局变量,但它应该把它作为一个参数或封装在一个类中。。。基本上我非常同意这个答案,我知道我可以用这个。但是我不想用aVariable作为参数调用函数,因为每次调用函数时我都不需要aVariable。。。如果这有道理的话。此外,我不希望将aVariable传递给可能需要它的所有函数。