1.python的变量作用域
- 能够改变python变量作用域的是def 、class、lambda;
- if/elif/else、try/except/finally、for/while这些语句并不能涉及变量值作用域的修改,也就是说在这些语句中定义的变量,在代码块以外也能够访问
- 变量搜索路径为:local>enclosing>global>build-in
例如:
def addNumbers(x,y):
if x<10:
i=1
sum=i+y
return sum
可以发现i是定义在if语句中的,但是在if语句结束,addNumbers函数内依然可以访问i变量,这与java和C语言中的变量的作用域有所不同
2.java局部变量作用域
局部变量是值定义在方法和代码块中的变量,变量必须初始化赋值后才能引用,变量只在当前代码块有效,而在代码块之外无法被访问。
例如: