魔力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__' 该如何理解

Python if __name__ == “__main__“ 用法

text Python if __name__ =='__ main__'理解