所以,如果你曾经看过我的页面,你可能会发现我是一名十年级学生,刚刚在高中开始他的计算机科学课程。 Yaay! :)
我们正在学习的语言是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__"
的行为相同吗?如果没有,两者之间的区别是什么?提前谢谢!
答案 0 :(得分:2)
当您if __name__ == "__main__":
时,您正在检查您是否已经在main
。
它有所不同,因为整个python脚本被认为是" main"以public static void main
被认为是"主要"的方式在java。
当你运行一个python文件时,它从最顶层开始,向下寻找可执行语句(它绕过声明,例如函数def
initions和class
es。。
运行java类时,它会查找main
方法并从那里开始。
拥有此if __name__ == "__main__":
的原因是,当您直接运行python文件时仅执行 。
您将很快了解到,python文件也可以被视为" modules"从其他python脚本中包含。在这种情况下,你不会想要这个主要的'逻辑被隐式执行。
在将它作为java中较大应用程序的一部分导入时,你几乎从不调用类main
。