各种各样的笔记01

1.  Python中  if __name__ == ‘__main__‘: 的作用

python文件一般有两种使用方法,第一种是作为脚本文件直接执行,第二种是作为模块被其他python脚本调用执行。在第一种情况时,if __name__ == ‘__main__‘:前后的命令都会被执行。而在第二种情况时,if __name__ == ‘__main__‘ 后面的代码不会被执行。例如,我们编写 first.py 和second.py 两个文件,first.py 定义了两个函数,并且在if __name__ == ‘__main__‘ 前后分别调用了fir() 和 sec(),而second.py则直接导入了first.py:

first.py 如下

def fir():
    print("第一个")


def sec():
    print("第二个")

fir()
if __name__== "__main__":
    sec()

second.py 如下 

import first

分别执行  first.py 和 second.py 文件,得到以下结果: 

 

由此我们可以看到直接执行first.py文件, if __name__ == ‘__main__‘:前后的代码都被执行,导入first.py的second.py文件则不执行if __name__ == ‘__main__‘:后面的代码。

原因

每个python模块都包含内置的变量__name__,当运行模块直接被执行的时候,__name__就等于__main__,而作为模块导入时,__name__就变成了可执行文件的名称。例如,我们在first.py文件中将__name__打印出来:

def fir():
    print("第一个")


def sec():
    print("第二个")

print(__name__)

fir()
if __name__== "__main__":
    sec()

再分别执行 first.py 和 second.py,可以看到在first.py中,__name__是__main__,因此其后面的语句执行,而在second.py中__name__是first(可执行文件名称),不是__main__,因此其后面的语句不执行。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值