对于python变量的作用域跟java、c语言有一些不同。具体表现在:
- python能够改变变量作用域的代码段是def、class、lamda.
- if/elif/else、try/except/finally、for/while 并不能涉及变量作用域的更改,也就是说他们的代码块中的变量,在外部也是可以访问的,这一点跟java有很大的不同
- 变量搜索路径是:本地变量->全局变量
多写代码,多多体会
推荐阅读:
http://www.crifan.com/summary_python_variable_effective_scope/
http://blog.csdn.net/lovingprince/article/details/6627555