python中__name__ == ‘__main__‘起到了什么作用?

Posted 非晚非晚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中__name__ == ‘__main__‘起到了什么作用?相关的知识,希望对你有一定的参考价值。

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
完成!

以上是关于python中__name__ == ‘__main__‘起到了什么作用?的主要内容,如果未能解决你的问题,请参考以下文章

Python学习日记使用if __name__ == "main"

Python基础5

python 改良购物车

Python 编程骚操作- 字符串列表字典和集合的处理

python的闭包函数

Python 进程间通信问题—Manager方法