python中的main函数,只有在当做脚本运行(单独运行)的时候才会被调用
,而被当做模块导入时,而__main__
模块的内容不会被执行。
使用方式:
if __name__ == '__main__':
main()
- 当做脚本运行
如果有如下function.py程序,当单独运行时,也就是直接运行python3 function.py
时,__main__
会一块输出。
print('这是function.py模块')
print('您运行的模块名字 :', __name__)
def main():
print('main函数')
if __name__ == '__main__':
print('执行了__main__')
main()
它的输出内容如下所示,可以看到整个function.py程序全部被执行,包括__main__
底下的内容。
这是function.py模块
您运行的模块名字 : __main__
执行了__main__
main函数
- 当做模块运行
假设新增了一个main_test.py程序,使用import调用function.py的模块,代码如下:
import function
print("完成!")
它的输出内容如下,可以看到它的__name__
的值发生了改变,而且if __name__ == '__main__':
下的内容也不会被执行!
这是function.py模块
您运行的模块名字 : function
完成!