Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查并设置Python中的全局变量_Python - Fatal编程技术网

检查并设置Python中的全局变量

检查并设置Python中的全局变量,python,Python,我有一个python函数,它需要在第一次运行时设置一个全局变量,并在其他运行时修改它 我已尝试按如下方式实现此功能: def foo(): if 'some_var' in globals(): some_var = some_var + 1 else: global some_var some_var = 0 但是,我得到一个语法错误: SyntaxError: name 'some_var' is used prior to

我有一个python函数,它需要在第一次运行时设置一个全局变量,并在其他运行时修改它 我已尝试按如下方式实现此功能:

def foo():
    if 'some_var' in globals():
        some_var = some_var + 1
    else:
        global some_var
        some_var = 0

但是,我得到一个语法错误:

SyntaxError: name 'some_var' is used prior to global declaration
为什么会这样?如何正确实现此功能?

请参阅

正确的代码是:

def foo():
如果“some_var”不在globals()中:
全局变量
某些变量=0
其他:
某些_var+=1

将全局
某些变量
移动到函数顶部应该可以:

def foo():
    global some_var
    if 'some_var' in globals():
        some_var = some_var + 1
    else:
        some_var = 0

将“全局某些变量”移到函数Missing indents的开头