python中if __name__ == '__main__'功能的解析
【说明】
在使用python进行工作过程中我们经常能够看到脚本或者程序里再结尾处都有**“if name == ‘main’:”**语句,说到“if name == ‘main’:” 语句的作用我们首先得理解:
python作为一种脚本语言,因其自身作为脚本语言的特点所以我们码好的文件有两种执行方式:
1. 直接作为脚本执行;
2. 通过import语句再其他python脚本中一模块的形式被调用执行。
因此if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,在if name == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。
【案例讲解】
【eg】: ( <test3.py>与 <test4.py>在同一文件夹下)
<test3.py>
def test():a = 1234print(a)
print(1212)
print(__name__)
if __name__ == '__main__':test()
results:
<test4.py>
import test3
results:
结果分析:
if __name__ == '__main__':test()
这段代码的主要作用主要是让该python文件既可以独立运行,也可以当做模块导入到其他文件。当导入到其他的脚本文件的时候,此时__name__的名字其实是导入模块的名字,不是’main’, main代码里面的就不执行了。
当我们在执行任何一个py文件时__main__等于当前执行文件的名称(包含了后缀.py)。进而当test3直接执行时,name == 'main’结果为真,main中的内容可以被执行;
在使用python中软件自身每个python文件(test3.py和test4.py)都默认包含内置的变量“name,”在实际操作过程中,当.py文档被执行时,实际的__name__其实默认等于我们创建的包含了后缀.py插入文件文件名;
如本例中将的test3插入到test4中时,执行test4, 此时加入print(name),test4.py中的__name__变量值为test3,而’main’变量值为test4,所以不满足__name__=="main"的条件,因此,运行test4无法执行if条件之后的代码,运行test3可以执行if条件之后的代码。
python中if __name__ == '__main__'功能的解析相关推荐
- python中if __name__ == '__main__': 的解析
2019独角兽企业重金招聘Python工程师标准>>> python中if __name__ == '__main__': 的解析 当你打开一个.py文件时,经常会在代码的最下面看到 ...
- python 中if __name__ = '__main__' 的作用
python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...
- Python中if __name__ == '__main__':作用
Python中if __name__ == '__main__':作用 2012-03-22 11:52:40 分类: Python/Ruby #hello.py def sayHello(): st ...
- python基础之python中if __name__ == '__main__': 的解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...
- python中 if __name__ == ‘__main__‘
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
- Python 中 if __name__ == '__main__': 的理解
1.这段代码的功能 一个 Python 的文件有两种使用的方法,第一是直接作为脚本执行,第二是 import 到其他的 Python 脚本中被调用(模块重用)执行.因此 if __name__ == ...
- python 中 if __name__ == '__main__' 判断的作用
假设这样一个a.py文件 def fun1(): ........ def fun2(): ......... if __name__=='__main__': ......#执行的一些语句 当你执行 ...
- Python中if __name__ == ‘__main__‘:的作用和原理(自用笔记)
if __name__ == ' __main__':的作用 一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行 ...
- python中if __name__ == __main__的解释
想必很多初次接触python的同学都会见到这样一个语句,if __name__ == "__main__": 那么这个语句到底是做什么用的呢?在解释之前,你一定要知道的是: 1.p ...
最新文章
- Genome-scale de novo assembly using ALGA 使用ALGA进行 基因组规模的从头组装
- 刷题百道却跪在白板面试?白板面试FAQ为你答疑解惑
- 为什么说百度教育大脑3.0,是中国教育迎来的真正智慧大脑?
- 通过练习题学习磁盘知识
- JAVA自动补全插件
- slf4j介绍及配置详解
- (十一)Spring 基础注解(对象创建相关注解、注入相关注解)
- c# picturebox控件显示本地图片和显示网上的图片
- MATLAB路径的正确书写方式
- 【转】Unity3D研究院之设置自动旋转屏幕默认旋转方向
- Spring Security 入门(1-3-2)Spring Security - http元素 - intercept-url配置
- chrome浏览器插件--让你的谷歌浏览器舒适度提升1800%的插件(程序员推荐)
- 10月书讯(上) | 小长假我读这些新书
- 面试中遇到的“黑嘴”现象
- Linux网络编程 - 在服务器端运用进程间通信之管道(pipe)
- 四级英语词汇加词组(超全)
- STM32--Code、RO-data、RW-data和ZI-data
- 微信十年,张小龙教给我们的产品方法论!(教科书一般的经典)
- 低功耗蓝牙搜索广播的实现流流程介绍 /BLE scan flow ----- 蓝牙低功耗协议栈
- 【latex】参考文献bbl错误,Package inputenc Error,Misplaced alignment
热门文章
- mysql 编译cpu数量_合适MySQL的Xeon 55XX系列CPU编译参数
- c++中函数放在等号右边_如何从C或C++中的函数返回多个值?
- 一天搞定CSS:文本text--05
- No module named MNIST_写给小白的用fashion-mnist入门机器学习和深度学习的简单项目(非常全面!!!)...
- 考研学弟问的n个问题,梳理一下分享给大家
- Spring之Bean的配置(二)
- 派生类的友元与析构【C++继承】
- Gentoo 安装日记 13 (配置内核 :可执行文件安格式和网络)
- python写界面进度条程序_Python中如何写控制台进度条的整理
- Fluid 架构创新论文被国际数据库顶会 ICDE 录用