python中 if __name__ == "__main__"的含义

Python文件有两种使用方法:

1,直接作为独立代码(模块 )执行; 

2,被Python其他文件引用;

 

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

在装饰器一章提到 , 当作脚本运行时才执行  if __name__ == "__main__" 代码块的内容。

如果是导入模块,说明不作为脚本运行,则不执行 if __name__ == "__main__" 代码块的内容。

 

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

 __name__属性是Python的内置属性,用于表示当前模块的名字,也能反映一个包的结构。

每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入,此时__name__的属性值为模块文件的主名;

 

基于 __name__属性返回值的这个特性,如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。

应用场景:调试代码的时候,在”if __name__ == '__main__'“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行!

#!/usr/bin/python3
# Filename: using_name.py

if __name__ == '__main__':
   print('程序自身在运行')
else:
   print('我来自另一模块')

 

 

python:浅析python 中__name__ = '__main__' 的作用 - 编程青年的崛起 - 博客园 (cnblogs.com)

https://www.cnblogs.com/alan-babyblog/p/5147770.html

 

posted @ 2023-09-03 01:03  limalove  阅读(388)  评论(0)    收藏  举报