C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始。
Python 则有不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。

python文件的两种使用方法:

  1. 直接作为脚本执行
  2. import到其他python脚本中被调用执行

if __name__ == '__main_' 的作用:

控制代码执行的过程,即if __name__ == '__main_'之后的代码只有在python文件直接作为脚本执行时才会被执行,当import到其他文件中时,不会被执行。

python模块的运行原理

每个python模块都包含内置的变量name

  • 当模块被执行的时候,name等于文件名(包含后缀.py),
  • 当模块被import到其他模块中时,name等于模块名称(不包含后缀.py)。

main相当于当前执行文件的名称(包含了后缀.py),进而当模块被直接执行时,name=’main’结果为真,执行后续语句。

python中的 if __name__ == '__main_'的作用和原理相关推荐

  1. python编程中的if __name__ == 'main': 的作用和原理

    <背景> 在大多数编排得好一点的脚本或者程序里面都有这段 if __name__ == 'main': <这段代码的功能> 一个python的文件有两种使用的方法: ➤第一是直 ...

  2. python编程中的if __name__ == 'main': 的作用和原理[2]

    这个问题来自于知乎用户的提问,当时看到这个问题,我只是做了下简单的回答.后来我发现,对于很多人来说,更准确的说应该是大部分的 Python 初学者,对这个问题理解的不是很深刻.所以这里我来做下总结,并 ...

  3. if __name__ == __main__:什么意思_秒懂Python编程中的if __name__ == 'main' 的作用和原理...

    来源:菜鸟分析 链接: https://zhuanlan.zhihu.com/p/34112508 一天偶然发现知乎上有篇关于对python编程中的if __name__ == 'main'的理解陈述 ...

  4. python编程中的if __name__ == 'main' 的作用和原理

    在大多数编排得好一点的脚本或者程序里面都有这段if __name__ == 'main': ,虽然一直知道他的作用,但是一直比较模糊,收集资料详细理解之后与大家分享一下. 1.代码的功能 一个pyth ...

  5. python if main_python if __name__ == 'main' 的作用和原理()

    相信初学者在学习Python的过程中,不可避免的总会遇到 if __name__ == 'main'语句,虽然一直知道它的作用,但是可能一直比较模糊,今天菜鸟分析就与大家一起举例说说我的理解. 举个例 ...

  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. 2020-12-11 Python中的 if __name__ == “__main__“

    Python中的 if __name__ == "__main__" 对于Python初学者来说,在看别人代码时经常会看到if __name__ == "__main__ ...

  9. python中三个双引号 的作用是什么?1、多行注释 2、定义多行字符串(代替转义字符换行符 \n)

    作用1:多行注释 # 这是单行注释""" 这是多行注释第一行 这是多行注释第二行 这是多行注释第三行 """ 作用2:定义多行字符串(无需转 ...

最新文章

  1. Love Java , Love IBM , Love Sun ( SunJiHai )
  2. 开源组织:Datawhale
  3. Unix环境高级编程(二十一)数据库函数库
  4. 《Pro ASP.NET MVC 3 Framework》学习笔记之十六【示例项目SportsStore】
  5. 机器学习在客户管理场景中的应用
  6. java 提交的内存_Java使用内存映射实现大文件的上传
  7. nefu 519 昨日重现
  8. Javascript button onclick和input type button在form中失效解决方案
  9. 更改hadoop集群yarn的webui中的开始时间和结束时间为本地时间
  10. 使用SQL2005 递归查询结合Row_Number()实现完全SQL端树排序
  11. [转]链接中 href='#' 和 href='###' 的区别以及优缺点
  12. getWriter() has already been called for this response
  13. 无版权素材网站,免费、可商用
  14. 怎么修改u盘的图标 如何修改移动硬盘图标
  15. 二级计算机考试什么最难,计算机二级考试难吗 考试内容是什么
  16. Pandas: Drop函数(Dataframe删除指定行列)
  17. Miles per gallon to kilometers per liter
  18. 扇贝开发:国内NFT平台运营主要合规问题
  19. mac Robot Framework installation not found
  20. python与cad交互_python 使用pyautocad操作AutoCAD

热门文章

  1. ?Web开发者需要知道的CSS Tricks
  2. 英国法院裁定GCHQ黑客发动网络攻击并不侵犯人权
  3. wordpress备份方法比较
  4. POJ 1743 (后缀数组+不重叠最长重复子串)
  5. Hyper-v Server QA
  6. 晒晒女儿学国画一学期的成果
  7. 阻尼衰减曲线用python_高阻尼隔震橡胶支座结构及防震效果
  8. flask找不到css_Flask干货:访问数据库——Flask-SQLAlchemy初始化
  9. html怎么使背景图片充屏,css如何使div背景图片填充
  10. mysql重启root不能登_Mysql 5.7.28初始化使用root无法登录