小编roa*_*nai的帖子

为什么python需要global关键字而C/C++不需要?

如果我想更改全局变量,我可以直接在 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 让它更明确,是“只是为了明确”的原因吗?

c++ python global global-variables

2
推荐指数
1
解决办法
125
查看次数

标签 统计

c++ ×1

global ×1

global-variables ×1

python ×1