在将Python程序拆分成函数后,如何设置一个为主函数?
这是个超级基础的问题,但我就是不太明白。我写了一些函数来完成特定的任务,现在我想要一个“主”函数,比如当我运行“someProgram.py”时,它能依次执行function1和function2,然后结束。我隐约记得有个叫main的东西,但我完全不清楚怎么用。
5 个回答
1
if __name__ == '__main__':
run_main()
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
3
当一个Python模块第一次被导入时,它的主程序部分会被执行。你可以区分这个模块是自己运行还是被其他程序导入:
if __name__ == "__main__":
function1()
function2()
else:
# loaded from another module
12
Python脚本并不是一堆函数,而是一系列的语句。函数和类的定义其实就是把名字和函数或类的对象绑定在一起的语句。
如果你在程序的开头或中间放一个打印语句,它会正常运行,而不需要在任何函数里面。这意味着你可以把所有主要的代码放在文件的最后,当脚本运行时,这些代码就会执行。然而,如果你的脚本被导入而不是直接运行,这些代码也会执行。这通常不是你想要的,所以最好避免这种情况。
Python提供了一个叫做 __name__
的全局变量,用来区分脚本是被导入还是直接运行。当脚本运行时,这个变量会被设置为脚本的名字。如果脚本被导入,它的值就是脚本文件的名字;如果直接运行,它的值就是 "__main__"
。所以,你可以在程序的最后加上 if __name__ == '__main__':
,这样这个条件块里的所有代码只有在脚本被直接运行时才会执行。
示例。
if __name__ == "__main__":
the_function_I_think_of_as_main()