打开PyCharm或者别人的代码,经常会看到一行:

acf3b757b8499d325bec39cd71546760.png

所以这行代码是干啥用的?好像不用这行也能运行?

虽然这是个很基础的问题,但因此它常常被忽略,就比如我自己以前也是着急上手py,直到今天才认识它。

__ name__ == '__ main__'是Python的main函数入口,但并不是有这行代码才能运行,这里只是可以判断代码是否被直接执行还是被调用执行。

气氛都烘托到这里了,动手写几行代码验证一下!

新建个main.py文件,代码如下:

def print_hi(name):
    print(f'Hi, {name}')


print_hi('偶尔敲代码')


if __name__ == '__main__':
    print_hi('Python')

运行结果:

Hi, 偶尔敲代码
Hi, Python

可见__main__里的代码被执行了。

另外建个test.py文件,代码如下:

将上面的main.py作为模块导入。

import main


main.print_hi('测试啊啊啊')

运行结果:

Hi, 偶尔敲代码
Hi, 测试啊啊啊

可见__main__里的代码没被执行(没打印Hi, Python)。

所以我理解它主要用途在调试代码。在"if __name__ == '__main__'"中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码又能够正常运行,这就比较方便了。这有点像易语言里的临时子程序:

5c67a285a548811ee9488b82d44caa0b.png

用py至今,我一直都没用上这行代码,主要的原因有:

  1. 写的东西太水太零散,不需要多文件

  2. 代码通用性差,不方便调用

  3. 基础不扎实,压根就不懂

- End -

更多精彩文章

点击下方名片关注【偶尔敲代码】

c769992fe46276f90e08b1948605e63a.gif

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐