Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java与Python中的局部变量作用域_Java_Python_Scope - Fatal编程技术网

Java与Python中的局部变量作用域

Java与Python中的局部变量作用域,java,python,scope,Java,Python,Scope,当我试图访问块外的局部变量jimFound时,它是在第一个Java代码段中声明的,我得到了一个编译错误 错误:(10,13)java:找不到符号, 符号:变量jimFound, 地点:类别范围 这正是我所期望的 public class Scope { public void main(String args[]){ String name = "Jim"; if (name.equals("Jim")) { boolean ji

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

错误:(10,13)java:找不到符号, 符号:变量jimFound, 地点:类别范围

这正是我所期望的

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!"
控制台结果是“我找到吉姆了!”


为什么会这样

Python变量的作用域是最内部的函数或模块;控制块,如
if
,而
块不计数


Python变量的作用域是最内部的函数或模块;控制块,如
if
,而
块不计数


在Java中,变量的作用域在其块内——简单地说是最接近的一对花括号(有些例外)。因此
jimFound
仅存在于
if
语句中。在Java中,变量的作用域在其块内-只需简单地说最近的一对括号(有些例外)。因此,
jimFound
只存在于
if
语句中。所以这只是一种非常不同的范围界定方法,但我发现它非常混乱。这样,在Python中经常会出现“UnboundLocalError:赋值前引用的局部变量'some_variable'”这样的情况,所以这只是一种非常不同的作用域方法,但我发现它非常混乱。通过这种方式,在Python中经常会出现“UnboundLocalError:local变量'some_variable'在赋值之前被引用”的情况