python if __name__ == "__main__"
Posted ivyharding
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python if __name__ == "__main__"相关的知识,希望对你有一定的参考价值。
之前对这个的认识是:
if __name__ == "__main__": #这个时候可以执行程序
方式一:
这个是在你自己眼中,你认为你自己是__main__
举例
print(‘hello world!‘) print(‘__name__value:‘,__name__) def main(): print(‘This message is from main function‘) if __name__ == "__main__": main()
执行上述代码,输出
hello world! __name__value: __main__ This message is from main function
我们可以分析得到:这时__name__ == "__main__"
所以第二句话输出__main__
在if __name__ == "__main__":这句,显然成立,我们直接执行main()函数的内容,所以输出This message is from main function
再换一种情况
此为print_func.py print(‘hello world!‘) print(‘__name__value:‘,__name__) def main(): print(‘This message is from main function‘) if __name__ == "__main__": main()
另外一个python文件为print_module.py
import print_func print("Done!")
这个时候输出啥呢?
我们分析一下:首先在print_module.py中,也就是在别人的眼中,__name__ == "print_func",也就不再执行print_func.py中的if __name__ == "__main__":语句
那么输出
hello world! __name__value: print_func Done!
总结
自己运行自己的程序,__name__ 即为__main__
当程序当做脚本被别人调用运行时,其__name__ 为自己的模块名称,这里的print_func即被导入到print_module中当做脚本被运行时,则print_func的__name__即变为其自身的模块名。
以上是关于python if __name__ == "__main__"的主要内容,如果未能解决你的问题,请参考以下文章
Python if __name__ == '__main__': 理解
Python关于`if _name_ == “_main_“`
如何简单地理解Python中的if __name__ == '__main__'
如何简单地理解Python中的if __name__ == '__main__'