正确理解Python中if __name__ == '__main__'


Posted in Python onJanuary 24, 2019

在Python,我们经常会编写

if __name__ == '__main__'

这么一段代码,这段代码该怎么来理解?

这段代码的功能理解如下:

一个python的文件有两种使用的方法:

  • 作用一,直接作为脚本执行。
  • 作用二,import到其他的python脚本中被调用(模块重用)执行。

if __name__ == '__main__': 的作用就是控制这两种情况执行代码的过程,在if __name__ == '__main__': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。

运行原理

每个python模块(python文件)都包含内置的变量__name__,当运行模块被执行的时候,__name__等于文件名(包含了后缀.py)。如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。而“__main__”等于当前执行文件的名称(包含了后缀.py)。所以当模块被直接执行时,__name__ == '__main__'结果为真;而当模块被import到其他模块中时,__name__ == '__main__'结果为假,就是不调用对应的方法。

简而言之就是:__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。当模块被直接运行时,代码将被运行,当模块是被导入时,代码不被运行。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python self,cls,decorator的理解
Jul 13 Python
python中assert用法实例分析
Apr 30 Python
Python用threading实现多线程详解
Feb 03 Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 Python
pycharm重置设置,恢复默认设置的方法
Oct 22 Python
举例讲解Python常用模块
Mar 08 Python
python文档字符串(函数使用说明)使用详解
Jul 30 Python
flask 实现token机制的示例代码
Nov 07 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
看看如何用Python绘制小米新版天价logo
Apr 20 Python
python munch库的使用解析
May 25 Python
Python调用腾讯API实现人脸身份证比对功能
Apr 04 Python
对python读取CT医学图像的实例详解
Jan 24 #Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 #Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
Jan 24 #Python
python Selenium实现付费音乐批量下载的实现方法
Jan 24 #Python
在python下读取并展示raw格式的图片实例
Jan 24 #Python
Python字典的核心底层原理讲解
Jan 24 #Python
使用PIL(Python-Imaging)反转图像的颜色方法
Jan 24 #Python
You might like
1.PHP简介
2006/10/09 PHP
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php实现插入排序
2015/03/29 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
jQuery元素选择器实例代码
2017/02/06 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
详解Django CAS 解决方案
2019/10/30 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
如何解决python多种版本冲突问题
2020/10/13 Python
用HTML5实现网站在windows8中贴靠的方法
2013/04/21 HTML / CSS
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
学生实习证明范文
2014/09/28 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
北京天坛导游词
2015/02/12 职场文书
求职导师推荐信范文
2015/03/27 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers