roa*_*nai 2 c++ python global global-variables
如果我想更改全局变量,我可以直接在 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 和 C++ 有变量声明。声明的位置决定是否声明全局。
在 Python 中,你只有作业。对尚未分配的变量进行赋值会创建该变量。对现有变量的赋值会更改该变量。因此,global如果存在具有该名称的全局变量,则无法创建局部变量。
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |