python if __name__ == '__main__' 作用

347 阅读1分钟

在python的代码当中经常会看到 if __name__ == '__main__' 。但一直没明白这条语句的作用和原理,因此特意去网上学习了一下。

file one.py
def main():
    print("we are in %s"%__name__)
if __name__ == '__main__':
    main()
 
file two.py
from one import main
main()

直接执行one.py 文件,得到结果如下:
we are in __main__

在执行two.py 文件,代码当中 引入了one模块,执行结果如下:

 we are in one

从中可以看出,当我们直接执行one.py文件的时候,__name__ 的值 即为 __main__ ,因此执行了if判断语句中代码;而当我们执行包含有one模块的 two.py文件的时候,__name__ 的值 为 one ,因此并不会重复执行if判断语句的内容。