几个概念:
- python能够改变变量作用域的代码段是def、class、lamda
- if/elif/else、try/except/finally、for/while 并不能涉及变量作用域的更改,也就是说他们的代码块中的变量,在外部也是可以访问的
- 变量搜索路径是:本地变量->全局变量
这意味着当你要用全局变量的时候,务必记得global var
,这样才能保证你此刻操作的变量是哪个全局变量,否则相当于你在此刻新产生了一个变量,跟 C/C++ 是有不同的,需要注意。
更多实验可以看这里 Links,通过实验应该可以更清楚一点吧。