在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判断语句的内容。