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__' 的理解
原文地址:https://www.cnblogs.com/smithpath/p/10708856.html
时间: 2024-10-29 16:54:56