python程序中name的作用_python编程中的if __name__ == '__main__': 的作用和原理
我们经常看到python程序中执行部分开头有:
if __name__ == '__main__'
:
这是什么意思?对于初学者一定会有这个疑问(注意最后的冒号:不能没有)。
由于每个python模块(python文件)都包含内置的变量__name__,
当运行模块被执行的时候,__name__等于文件名(包含了后缀.py)。
如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。
而“__main__”等于当前执行文件的名称(包含了后缀.py)。
所以当模块被直接执行时,__name__ == '__main__' 结果为真;
而当模块被import到其他模块中时,__name__ == '__main__' 结果为假,就是不调用对应的方法。
简而言之就是:__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。
当模块被直接运行时,代码将被运行,当模块是被导入时,代码不被运行。
if 语句还可以防止模块中的测试代码被执行,主要用于测试本脚本是否能正常运行。
举例:
程序 a.py 内容——
print('a.py')
if __name__ == '__main__':
print('running a.py, module is '+__name__)
程序 b.py内容——
import a
print('b.py')
if __name__ == '__main__':
print('running b.py, module is '+__name__)
1. run a.py, output
a.py
running a.py, module is __main__
2. run b.py
a.py #
运行了a.py的第一条语句,if后面的语句都没有运行
b.py
running b.py, module is
__main__ #
运行b.py的if语句
python程序中name的作用_python编程中的if __name__ == '__main__': 的作用和原理相关推荐
- python中for循环流程图_Python编程中的for循环语句学习教程
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequence: statements(s) ...
- python 中if __name__ = '__main__' 的作用
python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...
- 浅析python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
- python 中__name__ = '__main__' 的作用
学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main ...
- python中main的作用_浅析python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
- python程序的name的作用是什么_python 中__name__ = '__main__' 的作用,到底干嘛的?
python 中__name__ = 'main' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: "Make a script both importable and execu ...
- python画完图 程序暂停运行_Python编程:认识IDLE,编写保存运行第1个程序
Python编程需要有一个合适的编辑器. 就像我们平常写文章用Word,处理数据用Excel一样,处理图片要用PS或美图秀秀,我们编写Python程序也需要一个编辑器,正所谓工欲善其事,必先利其器. ...
- python编程的基本方法有哪些_Python编程中常用的基础知识有哪些?
今天小编要跟大家分享的文章是关于Python编程中常用的基础知识有哪些?正在从事Python相关工作的小伙伴们,来和小编一起看一看本篇文章,希望本篇文章能够对大家有所帮助. 1.正则表达式替换 目标: ...
- python编程中的运算_Python编程中的四大运算法则
接触过编程的人都知道,编程中的数学知识无处不在,通过数学建模能够解决我们实际生活中的很多问题.当然这并不是说必须要成为一名数学大神才能学编程,但掌握数学知识在编程中的表达方法却是很有必要的,今天南京小 ...
- python编程模式_Python编程中的反模式
原标题:Python编程中的反模式 这篇文章收集了我在Python新手开发者写的代码中所见到的不规范但偶尔又很微妙的问题. 本文的目的是为了帮助那些新手开发者渡过写出丑陋的Python代码的阶段. 对 ...
最新文章
- 区块链软件公司:区块链运用在金融上运用的优点有哪些?
- Seaborn(1)图画背景刻度设置
- whatpulse.exe 启动时报错
- docker安装配置gitlab详细过程
- 前嗅ForeSpider教程:数据建表
- JAVA50道经典编程题
- android 自定义属性 双向绑定,如何解决:“在使用自定义视图实现双向数据绑定时,找不到属性’android:text’”的getter?...
- php强制浏览器不缓存,php强制浏览器不缓存和设置浏览器缓存
- mac系统下配置java 和maven环境变量
- Windows安全基础-基线配置
- Spring Boot + ECharts
- 文具行业APS解决方案
- spring boot整合微信支付
- oracle vm 产品介绍,Oracle VM Server for SPARC 产品概述
- 高三学生早恋怎么处理?家长该怎么做?
- 哪款蓝牙耳机耳朵不疼?久戴不疼的骨传导耳机
- 人工神经网络的基础数学模型来自哪里
- 横向扩展与纵向扩展区别详解
- C语言入门笔记代码(第二天)
- 壹号本 深度 linux,壹号本4代迷你笔记本开箱,10.1英寸大小,平板电脑二合一设计...
热门文章
- java json 本身_JSON以及Java转换JSON的方法(前后端常用处理方法)
- Tensorflow学习笔记:使用线性回归进行简单分类
- docker管理神器—kubernetes—直接路由篇
- Silverlight提示“Load 操作失败。远程服务器返回了错误: NotFound”
- 常用html元素的取值和赋值方法总结
- 搭建自己的OwnCloud私有云
- 2440开发板linux系统移植3G拨号上网收发短信(三)
- H3C交换机配件RS232配置线(DB9针转RJ45)
- ASP.NET MVC入门教程(二)文章列表页、内容页的实现
- 一个能拖动,能调整大小,能更新bind值的vue指令-vuedragx