if/else/elif, for/while, try/except内部变量的作用域
Python
对于Python而言,if/elif/else/ try/except for/while并不能改变其作用域。定义在他们之内的变量,外部还是可以访问。如下代码:
a = 2
if a == 2:
b = 3
print b
上面的程序是能正确运行的。也就是说在 if 的外部也是能访问到变量b的。
C++
对于C++而言,定义在if/for/while里面的变量,只能在里面访问,外面是访问不到的。如下代码:
int a = 2;
if(2 == a)
{
int b = 3;
}
cout<<b<<endl;
上面的程序会报错,外部是访问不到b的。