Java与Python的局部变量范围

时间:2015-06-09 09:10:38

标签: java python scope

当我尝试访问块外部的局部变量jimFound时,它在第一个Java代码段中被声明我得到了编译错误

错误:(10,13)java:找不到符号,  符号:变量jimFound,  location:class Scope

这是我的预期。

public class Scope { 
    public void main(String args[]){
        String name = "Jim";
        if (name.equals("Jim")) {
            boolean jimFound = true;
        }
        if(jimFound) {
            System.out.println("I found Jim!");
        }
    }
}

当我尝试使用Python时,我的程序设法找到Jim。

name = "Jim"
if name == "Jim":
    jim_found = True
if jim_found:
    print "I found Jim!"

控制台结果是“我找到了吉姆!”

为什么会这样?

1 个答案:

答案 0 :(得分:4)

Python变量的范围是最里面的函数或模块;像ifwhile块这样的控制块不会计数。

What's the scope of a Python variable declared in an if statement?