博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础——认识(if __name__ == ‘__main__’:)
阅读量:6378 次
发布时间:2019-06-23

本文共 734 字,大约阅读时间需要 2 分钟。

  我们在写代码时,经常会用到这一句:if __name__ == '__main__',那么加这一句有什么用呢?实际上,它起到到了一个代码保护功能,它能够让别人在导入你写的模块情况下,无法看到和运行if __name__ == '__main__'下的内容。那么这是什么原理呢?下面一起来看看。

  很明显这是一句if的判断语句,而__name__对于每个py文件都是存在的且唯一,他是一个属性,对于文件本身而言,这个属性的值也是唯一的,值为__main__。如下所示:

if __name__ == '__main__':    print (__name__)
__main__

  但这个文件如果被其他文件所调用时,__name__的值会变成文件名,故这时__name__ == '__main__'条件不成立,自然就无法执行其下面的内容。一个文件名为test.py,其内容如下:

print ("hello, my school")print (__name__)if __name__ == '__main__':    print ("hello,world")

另一个py文件调用这个文件,内容如下:

import testprint ("本文件的__name__的值为:",__name__)
hello, my schooltest本文件的__name__的值为: __main__

上面可以发现test.py的属性值变成了test,新文件的属性值为__main__。test中不属于if __name__ == '__main__'的部分都被执行了。

转载于:https://www.cnblogs.com/longwhite/p/10397721.html

你可能感兴趣的文章
【转】Tomcat+JSP:运行时出现The requested resource is not available...
查看>>
H3C 单臂路由配置 V7平台
查看>>
关于 while(1)和for(;;)效率问题的一点想法
查看>>
linux 字符替换
查看>>
磁盘清理脚本
查看>>
TFS命令行操作
查看>>
趁热打铁
查看>>
replace、replace into、replace into DUPLICATE KEY UPDATE用法
查看>>
AngularJS 2 Provider
查看>>
Linux系统信息查看命令大全
查看>>
我的友情链接
查看>>
字节与字符有什么区别
查看>>
hadoop 分布式环境搭建处理
查看>>
CSS常用命名
查看>>
MogileFS分布式文件系统安装与配置
查看>>
CSS系列:CSS文字样式
查看>>
web前端学习
查看>>
MySQL之账号管理
查看>>
ganglia3.6.1+jmxtrans+strom-0.9.4集成
查看>>
EDM邮件营销的背景和市场分析
查看>>