1. 首页
  2. Python

Python基础内容:怎样快速理解if __name__ == 'main'语句

“u003Cdivu003Eu003Cblockquoteu003Eu003Cpu003Eu003Cstrongu003E__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。u003Cu002Fstrongu003Eu003Cu002Fpu003Eu003Cu002Fblockquoteu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F1528328214769f8911b3b94″ img_width=”1023″ img_height=”682″ alt=”Python基础内容:怎样快速理解if __name__ == ‘main’语句” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E相信好多初学者在学习python的过程中,经常会遇到if __name__ == ‘main’语句,可能你知道它的作用,也可能很模糊,今天就给大家分享下我的理解。u003Cu002Fpu003Eu003Cpu003E我们先新建一个text的py文件,并写入以下内容并运行u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F1528328489150caffbf7d57″ img_width=”319″ img_height=”264″ alt=”Python基础内容:怎样快速理解if __name__ == ‘main’语句” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E然后呢,在同一个文件夹中在新建一个py文件text1,写入一行代码:import text 然后运行看看结果u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F152832881119800911506f4″ img_width=”339″ img_height=”162″ alt=”Python基础内容:怎样快速理解if __name__ == ‘main’语句” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E与之前test.py代码运行结果比较,只有输出学习Python,也就是if __name__==”__main__”: 之前的语句被执行,之后的没有被执行。u003Cu002Fpu003Eu003Cpu003E为什么会这样呢?别急,我们稍微处理下代码就可以看明白了:在 if __name__==”__main__”之前加入一行代码:print(__name__),即打印出__name__,然后我们在重新分别执行2个代码看看u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp9.pstatp.comu002Flargeu002Fpgc-imageu002F15283292350778c201f9223″ img_width=”874″ img_height=”364″ alt=”Python基础内容:怎样快速理解if __name__ == ‘main’语句” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E这就很清楚了,在text中__name__变量的值为__main__,而在text1中,__name__的值为text,明显不满足if语句,因此,后面的代码无法执行!u003Cu002Fpu003Eu003Cpu003E仔细想想,它的原理也就是:u003Cu002Fpu003Eu003Cpu003E每个python模块(文件)都包含内置的变量__name__,当该模块被执行的时候,__name__就等于文件名。而import到其他模块(文件)中,则__name__等于当前的模块名,而__main__等于当前文件名,所以直接执行模块的时候if __name__==”__main__”为真,可以执行;import到其他模块(文件)中,if __name__==”__main__”为假,那当然就不执行对应的代码了。u003Cu002Fpu003Eu003Cpu003E简单说就是:__name__是当前的模块名字,在当前文件时可以被执行,而模块被导入时,代码不被运行!u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F152832996412209a4487a5d” img_width=”1280″ img_height=”853″ alt=”Python基础内容:怎样快速理解if __name__ == ‘main’语句” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E喜欢就关注下呗( ̄ε  ̄) u003Cu002Fpu003Eu003Cu002Fdivu003E”

原文始发于:Python基础内容:怎样快速理解if __name__ == 'main'语句

主题测试文章,只做测试使用。发布者:敢吻,转转请注明出处:http://www.cxybcw.com/13206.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code