如果我想更改全局变量,我可以直接在 C++ 中执行:
#include <stdio.h>
int x = 1;
int main()
{
x = 1 + x;
printf("%d\n", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但使用 Python 时出现错误:
x = 1
def foo():
x += 1
foo()
Run Code Online (Sandbox Code Playgroud)
UnboundLocalError: local variable 'x' referenced before assignment
我必须添加global x功能foo才能实现它。
似乎 python 让它更明确,是“只是为了明确”的原因吗?