pyhon global疑难问题
number = 10
print('number 外',number)
def add():
if number == 10:
print('number=',number)
else:
print('-------')
global number
number = 12
add()
运行结果是:
global number
^
SyntaxError: name 'number' is used prior to global declaration
网上查了一下资料,错误原因如下:
在更改全局变量前调用了全局变量
有人说了解决方法如下:
函数添加了一个参数,以这个参数为判断标准,然后更改全局变量
buuuuuuuuuuuuuuuuttt:
我没看懂,实在不知道怎么写了。请来个屌大的帮忙看看。谢谢,好人一生平安!
Names listed in a global statement must not be used in the same code block textually preceding that global statement.
http://docs.python.org/reference/simple_stmts.html#global