我想了解Python程序从哪一点开始运行。我之前有过Java
的经历。在Java
中,每个程序都从main()
类的Main
函数开始。知道了这一点,我就可以确定其他类的其他类或函数的执行顺序。我知道在Python中我可以使用__name__
来控制程序执行顺序:
def main():
print("This is the main routine.")
if __name__ == "__main__":
main()
但是当我们不使用__name__
时,我的Python程序的起始行是什么?
答案 0 :(得分:1)
解释器从头开始逐行解释文件。 如果遇到函数定义,则会将其添加到全局变量中 字典如果遇到函数调用,则会在全局变量中进行搜索 命令并执行或失败。
# foo.py
def foo():
print "hello"
foo()
def test()
print "test"
print "global_string"
if __name__ == "__main__":
print "executed"
else:
print "imported"
输出
hello
global_string
executed
foo()
的调用并执行该函数,因此它将输出{{1} }。hello
添加到全局字典中,但是没有对该函数的函数调用,因此它将不执行该函数。test()
。global_string
。