文章目录

本篇文章,参考并改编了
https://www.jianshu.com/p/989953d468d9
在很多utility程序中,我们会经常看到这样一句:

if __neme__ == "__main__" :

我们都只到python编写的文件可以直接运行,也可以当做模块来引用,不管哪一种方式,最顶层(以缩进方式来划分),都会被执行。
作用:
实际项目中,可能我们希望在引用这个module模块的时候,并不希望在导入的时候去执行顶层的code。

if __neme__ == "__main__" : 的作用就是放在里面的code只有在直接运行时候才生效执行,而作为模块被引用的时候是不执行的

举例:
下面是一个test.py

我直接运行上面这个程序,print("in")将会执行

如果我采用导入的方式,则不会执行

print(“in”)


最后
如果学过 C 或者 C++,知道程序入口是一个 main 函数。if name == ‘main’:的作用跟这个 main 函数相似,可以看作 Python 模拟的程序入口。而事实上,Python 是从源码文件的第一行开始,逐行解释然后运行,没有统一的程序入口。所以if name == ‘main’: 只能说是模拟的程序入口。
特别要注意__name__的引号是没有的,因为他是一个内置变量

 if __name__ == '__main__':

不是

 if "__name__ "== '__main__':

作者:胖三斤66
链接:https://www.jianshu.com/p/989953d468d9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

[Python]理解 if __name__ == ‘__main__‘相关推荐

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

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

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

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

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

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

  4. python中的__name__=='__main__'如何简单理解(一)

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

  5. Python中if __name__=='__main__': 理解与总结(看这篇就够了,一文扫清疑惑!)

    前言 在Python当中,如果代码写得规范一些,通常会写上一句if '__name__'=='__main__:'作为程序的入口,但似乎没有这么一句代码,程序也能正常运行.这句代码多余吗?原理又在哪里 ...

  6. python 有关 if __name__ == ‘__main__‘ 的正确理解

    写此文章的初衷在于笔者碰到一道题目如下: "假设有Python程序文件a.py,其代码如下: def main():if __name__ == '__main__':print(1)els ...

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

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

  8. python中if __name__ == ‘__main__‘:的简单理解

    举例说明,这里有两个模块 # ni模块 print("这是1.") if __name__ == '__main__':print("这是2.")'''输出结果 ...

  9. Python的if __name__ == ‘__main__‘:的作用

    程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等.如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要 ...

最新文章

  1. 《PHP、MySQL和Apache入门经典(第5版)》一2.11 实践练习
  2. Spring Boot 2.4版本前后的分组配置变化及对多环境配置结构的影响
  3. eclipse + maven搭建SSM框架
  4. pythonpop方法桐柏到郑州大_python脚本之一键移动自定格式文件方法实例
  5. Springboot 集成Springcloud gateway的入门
  6. python最小值最大化和最大值最小化_OJ 21658::Monthly Expense(二分搜索+最小化最大值)...
  7. 【计算机网络】SIP会话时,使用重定向与不使用重定向功能的区别
  8. 下面列出LoadRunner的性能测试流程
  9. python如何制作地图热力图
  10. Make it Divisible by 25
  11. 小程序引入的echarts过大如何解决_在微信小程序中使用 ECharts
  12. 「MacTeX 小笔记」LaTeX 学习资料推荐篇
  13. 二维数组与字符数组——英文字母、数字字符及其他字符的个数
  14. Jmeter阶梯压力测试_导出测试报告
  15. 单片机与PC机串口通信编程
  16. 【优化调度】粒子群算法求解水火电调度优化问题【含Matlab源码 1181期】
  17. 《Android NFC开发实战详解》——6.4节Android NFC P2P开发进阶
  18. 仪器仪表应用,国产IC用于替代AD7792,AD7793的型号分享,完全P=P
  19. Flutter自定义圆形选择框
  20. 专业显卡测试软件 spec,SPECviewperf 12.1专业性能测试

热门文章

  1. Runtime之IMP指针,isa指针
  2. JavaScript 中的事件设计
  3. MR案例:CombineFileInputFormat
  4. PHP常用功能块_错误和异常处理 — php(32)
  5. C#-Home / 详解Asp.Net Sql数据库连接字符串
  6. Tomcat学习总结
  7. C语言二级指针Demo - Win32 版本
  8. win-tc不能在win7下使用
  9. The Linux Command Line读书笔记(二)
  10. 《统计学习方法》P89页IIS的中间步骤Zw+δ(X)/Zw(X)的推导