Python中if __name__ == '__main__'作用解析
admin
2023-07-31 02:28:09
0

当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == \’__main__\’:,现在就来介 绍一下它的作用.

        模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省\”__main__\”。

///////////////////////////////////////////////////////////////////////////////////////////////////

在cmd 中直接运行.py文件,则__name__的值是\’__main__\’;

而在import 一个.py文件后,__name__的值就不是\’__main__\’了;

从而用if __name__ == \’__main__\’来判断是否是在直接运行该.py文件

如:

复制代码 代码如下:
#Test.py

class Test:

    def __init(self):pass

    def f(self):print \’Hello, World!\’

if __name__ == \’__main__\’:

    Test().f()

#End

 

你在cmd中输入:

复制代码 代码如下:
C:>python Test.py

Hello, World!

说明:\”__name__ == \’__main__\’\”是成立的

 

你再在cmd中输入:

复制代码 代码如下:
C:>python

>>>import Test

>>>Test.__name__                #Test模块的__name__

\’Test\’

>>>__name__                       #当前程序的__name__

\’__main__\’

无论怎样,Test.py中的\”__name__ == \’__main__\’\”都不会成立的!

所以,下一行代码永远不会运行到!

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...