Python里“__main__”是干啥的?
打开PyCharm或者别人的代码,经常会看到一行:
所以这行代码是干啥用的?好像不用这行也能运行?
虽然这是个很基础的问题,但因此它常常被忽略,就比如我自己以前也是着急上手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__‘“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码又能够正常运行,这就比较方便了。这有点像易语言里的临时子程序:
用py至今,我一直都没用上这行代码,主要的原因有:
- 写的东西太水太零散,不需要多文件
- 代码通用性差,不方便调用
- 基础不扎实,压根就不懂
- End -
更多精彩文章
点击下方名片关注【偶尔敲代码】
还没有评论,来说两句吧...