Python中的main函数解析
发布时间:2026-03-06 22:02:21

Python作为一种更灵活的解释性脚本语言,其中定义的main()函数只有在Python脚本直接作为执行程序时才能执行;
当python脚本被用作模块时(module)引入(import)Main()函数不会执行。
这有两个原因:
一方面,main函数是所有执行程序的入口;
另一方面,python的解释器是按顺序执行脚本的,不会调用任何不属于程序本身的代码和函数。
需要补充的是,如果它被用作模块或库import到程序,它将直接成为代码的一部分。
这里我们可以通过程序更好地了解main函数的作用,在这里我们编写两个程序print_main_function.py和print_main_module.py
print_main_function.py
#importos
#importtime
importdatetime
print('HelloWorld!')
print('Timeis',datetime.datetime.now().strftime('%Y-%m-%d%H:%M:%S%A'))
print('__name__value:',__name__)
defmain():
print('thismessageisfrommainfunction')
if__name__='__main__':
main()
#print(__name__)print_main_module.py
import print_main_function
print("Done!")
单独运行print_main_function.py程序,结果如下

运行print_main_module.print(print_main_function.py作为module引入执行)结果如下

通过比较两个程序的运行结果,可以发现,当包含main函数的程序直接运行时,将执行main函数,同时程序的__name___变量值'__main__'。
当包含main函数的程序被用作module的import时,module程序(print_main_function.py)对应的__name__变量值是module对应的函数名称,因此module程序(print_main_function.py)中间的main函数不会执行。
下一篇 python时间戳是啥意思?
