Python之if __name__ == ‘__main__‘:最简洁的原理解释,看了还不会你来打我

可能由于’__'是一个特殊字符,所以文中都无法显示完全,可直接看代码
  在神经网络的python实现中,经常会遇到if name == ‘main’:这句话,那么它是什么意思?有什么用?我们一起来康康…
这句话是和一个python文件也就是***.py文件的执行有关的。一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if name == ‘main’:的作用就是控制这两种情况执行代码的过程,在 if name == ‘main’:下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。

实例

下面通过实例来体会一下if name == ‘main’:的意思==>
在这里插入图片描述
我们先创建了一个main的.py文件,内容输出如图所示,这就是上面说到的第一种情况main.py是作为一个脚本执行的,第二种情况如下,直接在import_main.py中import main然后执行输出,结果只输出了if name == ‘main’:上面那行的内容
在这里插入图片描述
例子看完了结果也输出了和开始的解释相吻合,但是,屏幕前的你知道为什么了吗?
接来下就带你一起解开这层神秘的“薄膜”,探寻其中的奥秘,嘿嘿嘿…

原理

  原理其实很简单我只要说一句话你就懂了,if是用来判断的。什么意思?仔细看if后面是个什么东西?name== 'main’注意中间是==而不是=,怎么理解?这里补充一个小知识点:

‘==’:这是一个相等运算符,是用来判断符号俩边是否一样,是不是一个东西,这个运算符的返回值是bool型的true或false;而’='是赋值运算符。

  也就是说程序执行到这里的时候if语句会进行判断__name__ == ‘main’并且返回true或者false,如果是true就会执行下面的语句也就是第一种情况,如果if语句返回了false那么就是第二种情况,就比如’4’==4就是true。到这里我们已经披荆斩棘越过了沼泽跨越大山森林走到了藏宝洞的洞口,接下来跟随我的脚步探寻生命的真谛吧!到这里我们就知道了它的工作原理,接下来就用代码来直观的展示,让你大彻大悟。

实例

为了和这条语句中的main区别开来我把main.py改为了csdntest.py
在这里插入图片描述
在这里插入图片描述

可以清晰的看到,当把文件当做脚本直接执行的时候这个时候__name__的值是:main,而被其它文件引用的时候就是文件本身的名字,这样一来就明白为什么会有文章开始所说的那俩种不同的情况了吧!这个if语句相当于是你家门的锁,true就开了你可以继续执行下面的语句,如果是false就开不了门无法执行下面的语句。

猜你喜欢

转载自blog.csdn.net/weixin_44825185/article/details/108398949