魔力Python--if __name__ == '__main__' 的理解
Posted 流云封心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了魔力Python--if __name__ == '__main__' 的理解相关的知识,希望对你有一定的参考价值。
if __name__ == ‘__main__‘ 的理解
__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。
这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。
#practice.py import cc print(‘引用cc‘) cc.cc() print(‘程序结束!‘)
其中,cc.py为
def cc(): print(‘调用cc了‘) print(‘先输出哪个?‘)
此时结果为:
先输出哪个?
引用cc
调用cc了
程序结束!
然而,实际上我们可能不想输出‘先输出哪个?‘这句话的.
或许这时候要尝试直接调用函数?没卵用,只是改名字罢了.
from cc import cc print(‘引用cc‘) cc() print(‘程序结束!‘)
输出的结果也是如此:
结果:
先输出哪个?
引用cc
调用cc了
程序结束!
此时,将cc.py修改即可
def cc(): print(‘调用cc了‘) if __name__ == ‘__main__‘: print(‘先输出哪个?‘)
此时调用
from cc import cc print(‘引用cc‘) cc() print(‘程序结束!‘)
结果如下:
引用cc
调用cc了
程序结束!
所以明白if __name__ = ‘__main__‘的作用,即在外部调用可不输出子进程的东西,在自身内部调用可正常输出,起一个判断作用.
记住,在Windows里面,把所有子进程的所有操作都扔到
if __name__ = ‘__main__‘
这句话下面. Linux和Mac不需要.
PS:关于上面的快捷操作,输入main回车即可快速打出
if __name__ = ‘__main__‘
转自:https://blog.csdn.net/wrh_csdn/article/details/80534654
https://blog.csdn.net/qq_27017791/article/details/80212016
以上是关于魔力Python--if __name__ == '__main__' 的理解的主要内容,如果未能解决你的问题,请参考以下文章
python if __name__ == "__main__"
python if __name__ == '__main__'
软件——机器学习与Python,if __name__ == '__main__':函数
Python 中的 if __name__ == '__main__' 该如何理解