zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python小技巧:if __name__ == “__main__“ 的作用

Python 技巧 作用 if name __ main
2023-09-27 14:26:45 时间

在这里插入图片描述

前言

这里是Python小技巧的系列文章。这是第一篇,if __name__ == "__main__" 的作用。

在编写Python程序时候,总是习惯性的在文件的末尾添加这么一段代码。

if __name__ == "__main__":
    ...

至于它的作用是什么,先不管,能跑就行!

相信挺多小伙伴都是知其然,而不知其所以然的,下面来扒一下。


结论先说在前头:

  • 当一个 demo.py 文件作为独立的程序运行时候,那么 __name__ 变量的值 为__main__
  • 否则(如引用),__name__ 变量的值就会设置为 demo.py 文件的名称,即demo

感兴趣的小伙伴可以继续往下看~


知识点

知识点释义
dir()dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

剖析

if __name__ == “__main__“:,是个条件式语句。判断 __name__ 这个变量是否等于 __main__

执行dir(),获取当前模块的变量名

print(dir())

结果如下:

  • 这里没有定义任何变量,从而知道__name__是Python内置的一个属性。
    在这里插入图片描述

执行__name__,看看该变量的值

print(__name__)

结果如下:

  • 变量__name__ 的值为 __main__
    在这里插入图片描述

打印 __name__的文件为 demo.py,现在在demo2.py中导入 demo.py

import demo

结果如下:

  • 这里可以看到, __name__在被引用时候,它等于模块的名称。
    在这里插入图片描述

后话

本次分享到此结束!