说明
在使用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__'功能的解析相关推荐

  1. python中if __name__ == '__main__': 的解析

    2019独角兽企业重金招聘Python工程师标准>>> python中if __name__ == '__main__': 的解析 当你打开一个.py文件时,经常会在代码的最下面看到 ...

  2. python 中if __name__ = '__main__' 的作用

    python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...

  3. Python中if __name__ == '__main__':作用

    Python中if __name__ == '__main__':作用 2012-03-22 11:52:40 分类: Python/Ruby #hello.py def sayHello(): st ...

  4. python基础之python中if __name__ == '__main__': 的解析

    当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...

  5. python中 if __name__ == ‘__main__‘

    很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...

  6. Python 中 if __name__ == '__main__': 的理解

    1.这段代码的功能 一个 Python 的文件有两种使用的方法,第一是直接作为脚本执行,第二是 import 到其他的 Python 脚本中被调用(模块重用)执行.因此 if __name__ == ...

  7. python 中 if __name__ == '__main__' 判断的作用

    假设这样一个a.py文件 def fun1(): ........ def fun2(): ......... if __name__=='__main__': ......#执行的一些语句 当你执行 ...

  8. Python中if __name__ == ‘__main__‘:的作用和原理(自用笔记)

    if __name__ == ' __main__':的作用 一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行 ...

  9. python中if __name__ == __main__的解释

    想必很多初次接触python的同学都会见到这样一个语句,if __name__ == "__main__": 那么这个语句到底是做什么用的呢?在解释之前,你一定要知道的是: 1.p ...

最新文章

  1. Genome-scale de novo assembly using ALGA 使用ALGA进行 基因组规模的从头组装
  2. 刷题百道却跪在白板面试?白板面试FAQ为你答疑解惑
  3. 为什么说百度教育大脑3.0,是中国教育迎来的真正智慧大脑?
  4. 通过练习题学习磁盘知识
  5. JAVA自动补全插件
  6. slf4j介绍及配置详解
  7. (十一)Spring 基础注解(对象创建相关注解、注入相关注解)
  8. c# picturebox控件显示本地图片和显示网上的图片
  9. MATLAB路径的正确书写方式
  10. 【转】Unity3D研究院之设置自动旋转屏幕默认旋转方向
  11. Spring Security 入门(1-3-2)Spring Security - http元素 - intercept-url配置
  12. chrome浏览器插件--让你的谷歌浏览器舒适度提升1800%的插件(程序员推荐)
  13. 10月书讯(上) | 小长假我读这些新书
  14. 面试中遇到的“黑嘴”现象
  15. Linux网络编程 - 在服务器端运用进程间通信之管道(pipe)
  16. 四级英语词汇加词组(超全)
  17. STM32--Code、RO-data、RW-data和ZI-data
  18. 微信十年,张小龙教给我们的产品方法论!(教科书一般的经典)
  19. 低功耗蓝牙搜索广播的实现流流程介绍 /BLE scan flow ----- 蓝牙低功耗协议栈
  20. 【latex】参考文献bbl错误,Package inputenc Error,Misplaced alignment

热门文章

  1. mysql 编译cpu数量_合适MySQL的Xeon 55XX系列CPU编译参数
  2. c++中函数放在等号右边_如何从C或C++中的函数返回多个值?
  3. 一天搞定CSS:文本text--05
  4. No module named MNIST_写给小白的用fashion-mnist入门机器学习和深度学习的简单项目(非常全面!!!)...
  5. 考研学弟问的n个问题,梳理一下分享给大家
  6. Spring之Bean的配置(二)
  7. 派生类的友元与析构【C++继承】
  8. Gentoo 安装日记 13 (配置内核 :可执行文件安格式和网络)
  9. python写界面进度条程序_Python中如何写控制台进度条的整理
  10. Fluid 架构创新论文被国际数据库顶会 ICDE 录用