网站首页 > 基础教程 正文
对于很多编程语言来说,程序都必须要有一个入口,比如 C 语言需要有一个 main 函数作为程序的入口,即程序的运行会从 main 函数开始。
而 Python 是脚本语言,不像编译型语言那样,先将程序编译成二进制再运行,而是从脚本第一行开始运行,动态的逐行解释运行,所以没有统一的入口。
一个 python 文件通常有两种使用方法:
- 一是作为脚本直接执行;
- 二是 import 到其他的 python 脚本中被调用执行。
而 if __name__ == "main" 的作用就是控制这两种情况执行代码的过程:
- 当python文件被直接执行时,if __name__ == "__main__"之下的代码块将被运行;
- 当python文件以模块形式被导入时,if __name__ == "__main__"之下的代码块不被运行。
举例说明
比如有一个 constpi.py,内容如下,直接执行该文件(python constpi.py),则输出PI的值,如下图所示:
现在有另外一个 area.py 文件,计算圆的面积,需要用到 constpi.py 中的 PI。因此需要把 constpi.py 中的 PI 导入到 area.py 中。运行 area.py,则如下图所示。
背后的原理
每个python文件都包含内置的变量 __name__,为了解 __name__ 到底是什么,可以在 constpi.py 把 __name__ 打印出来,如下图所示,可以发现:
- 当 constpi.py 被直接运行时,__name__ 就是 “__main__”,因此执行其后的代码;
- 而 constpi.py 被import到其他文件时,__name__ 就是 “constpi”,因此其后的代码不执行。
猜你喜欢
- 2024-11-02 Python教程:条件if控制语 python if条件语句如何进行多条件判断
- 2024-11-02 一文看懂:Python中的if __name__=="__main__"的含义
- 2024-11-02 python编程_秒懂if __name__==__main__
- 2024-11-02 python关键字专题if python关键字吗
- 2024-11-02 Python if __name__ 的作用介绍 python里if __name__="__main__"
- 2024-11-02 为什么python里要 if __name__ == ‘__main__’
- 2024-11-02 Python写每天进步1%的力量 python 每天增长
- 2024-11-02 零基础学python第五天之if python代码if
- 2024-11-02 Python的if分支结构,超简单 python中if语句的书写结构
- 2024-11-02 python笔记之if条件判断 python中if判断
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)