因此,如果您曾经查看过我的页面,您可能会发现我是一名 10 年级的学生,刚刚在高中开始他的计算机科学类(class)。耶! :)
我们正在学习的语言是 Java,在我看来,Java 与 Python 有很大不同(至少到目前为止)。但是,在启动 Java 程序时我注意到一件事。抱歉,如果语法错误或错误。
public static void main(String [] args){
String school = "A beautiful school";
System.out.print(school);
}
这是否等同于 Python 的:
if __name__ == "__main__":
school = "A beautiful school"
print(school)
我曾就此问过我的老师,但似乎没有得到我完全理解的答案。我也看了这个question ,但它似乎只回答了不同的关键字 public
、static
、void
,(我现在只是略微理解)。
那么 public static void main
的行为是否与 if __name__ == "__main__"
相同?如果不是,两者有什么区别?提前致谢!
最佳答案
当您执行 if __name__ == "__main__":
时,您正在检查您是否已经在 main
中。
这是不同的,因为整个 python 脚本被认为是“main”,就像 public static void main
在 java 中被认为是“main”一样。
当您运行 python 文件时,它会从最顶层开始向下寻找可执行语句(它会绕过函数 def
initions 和 class
等声明es).
当您运行 java 类时,它会查找 main
方法并从那里开始。
if __name__ == "__main__":
的原因是它仅在您直接运行 python 文件时执行。
您很快就会了解到,python 文件也可以被视为要从其他 python 脚本中包含的“模块”。在这种情况下,您不希望隐式执行此“主要”逻辑。
就像您在将类 main
作为大型应用程序的一部分导入 java 时几乎从未调用过它一样。
关于Java 语法等同于 Python 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28356250/