简介:

Python为脚本语言,不像其他编译语言一样,在运行之前,先将程序编译成二进制,在运行。该语言运行方式为逐行解释运行,因此,在整个程序中没有统一的程序入口。

Python源文件除了可以被直接运行外,还可以作为模块被其他python文件导入。不管是直接运行还是被导入,.py文件的最顶层代码都会被运行,而当一个.py文件作为模块被导入时,有一部分代码可能不被希望运行。因此,该语句便起了至关重要的作用。

使用方法说明:

if __name__ == '__main__'的意思是:

       当.py文件被直接运行时if __name__ == '__main__'之下的代码块将被运行;

       当.py文件以模块形式被导入时if __name__ == '__main__'之下的代码块不被运行。

运行原理:

a.py   代码如下:

print (__name__)

运行结果为:  main

b.py  代码如下

import a

print(__name__)

运行结果为: a 和 main     其中 a为 a.py 的 name ,而 main 则为 b.py 的 name。

  因此该语句主要就是判断是否是程序主入口,如果是程序主入口,则代码块执行,否则代码块不执行

转载于:https://www.cnblogs.com/Leo-Xia/p/9647735.html

关于 if __name__ == '__main__' 的理解相关推荐

  1. 魔力Python--if __name__ == '__main__' 的理解

    if __name__ == '__main__' 的理解 __name__ 是当前模块名,当模块被直接运行时模块名为 __main__ . 这句话的意思就是,当模块被直接运行时,以下代码块将被运行, ...

  2. python使用笔记:if __name__ == ‘__main__‘ 如何理解

    大部分内容来自: 作者:初识CV 链接:https://www.zhihu.com/question/49136398/answer/1654722335 来源:知乎 著作权归作者所有.商业转载请联系 ...

  3. __name__=='__main__'的理解和使用

    1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...

  4. 关于if __name__ == '__main__'的理解

    学习作用域时,有些疑惑,if __name__ == '__main__':. 第一,添加这条语句的作用是什么?原理是什么? 第二,添加这条语句有什么好处? if __name__ == '__mai ...

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

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

  6. 如何简单地理解Python中的if __name__ == '__main__'

    如何简单地理解Python中的if __name__ == '__main__' 文章目录: 一.摘要 二. 程序入口 虽然已经知道这个具体的用法,但是这篇文章有很多细节写的还是很好,决定转载一下,日 ...

  7. Python 中的 if __name__ == __main__ 该如何理解

    Python 中的 if __name__ == "__main__" 该如何理解 原文链接: http://blog.konghy.cn/2017/04/24/python-en ...

  8. 如何快速简单粗暴地理解Python中的if __name__ == ‘__main__‘

    1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...

  9. 解惑(二)----- 如何通俗地理解Python中的if __name__ == ‘__main__‘

    1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...

  10. 简单理解Python中的if __name__ == '__main__'

    1. 摘要 通俗的理解__name__ == 'main':假如你叫小明.py,在朋友眼中,你是小明(name == '小明'):在你自己眼中,你是你自己(name == 'main'). if na ...

最新文章

  1. 15年!NumPy论文终出炉,还登上了Nature
  2. 计算机语言主要由一些指令组成这些指令包括,(计算机组成指令系统汇编语言.ppt...
  3. RedHat 6配置DNS服务实现主从同步与正反向解析
  4. Netty系列之Netty 服务端创建
  5. 开源版本_开源版本PowerShell Core 6.2 发布
  6. sql删除快还是update快_下班回家,是骑自行车减肥快还是走路减肥快?
  7. web前端基础(07style)
  8. Java JDBC c3p0
  9. 拆轮子系列--RxJava理解(三)--observeOn
  10. 浅谈Flutter UI布局
  11. HTML页面禁止选择、页面禁止复制、页面禁止右键
  12. 动态系统建模与仿真 基本知识笔记(源自DR_CAN)
  13. WinEdt 的 LaTeX 生成的 pdf 无法中文正向搜索/中文复制后乱码解决
  14. 使用cloudcompare测量平面之间的距离
  15. 搭档之家|打造信息交互平台,推进合作新发展
  16. CTOlib码库介绍(GitHub热门项目收录网站)
  17. 你知道有哪些用于文件同步的方法?
  18. 个人永久性免费-Excel催化剂功能第69波-打造最专业易用的商务图表库,即点即用的高级Excel图表...
  19. 3DMax基础操作快捷键
  20. 使用VideoCapture进行读取时0x00007FF9A1F86A6F (opencv_world440d.dll)处(位于 opencvtest.exe 中)引发的异常

热门文章

  1. linux安装mysql配置,linux安装mysql,配置mysql文件
  2. Xshell7连接VMware15虚拟机上的Ubuntu详细步骤
  3. 三层交换机VLAN间路由
  4. PyCharm 2020.2.3复制粘贴及删除键修正
  5. 济宁a货翡翠,芜湖a货翡翠
  6. Oracle 树操作、递归查询(select…start with…connect by…prior)
  7. vue-style,vue-style-scoped
  8. 在Linux环境下,将Solr部署到tomcat7中,导入Mysql数据库数据, 定时更新索引
  9. 网络热词下的民意传播
  10. 阿里数据库内核月报:2016年08月