python __name__问题

  我在牛客网上看到了一个题目

print_func.py模块代码:
    
    print("hello world")
    print('__name__ value', __name__)


    def main():
          print('The message is from main function')


     if __name__ == '__main__':
           main()

print_module.py模块代码:
    import print_func
    print('Done')

"""
当在print_module.py运行时,运行结果为:
    hello world
    __name__ value print_func
    Done
""

  可以看到,当在模块被调用时,其__name__则等于模块名,函数main()meiyou 执行,从而证明了模块被调用时__name__ ≠ '__main__',所以只有在本模块下执行,__name__才会等于 '__main__'

  在python中当你写在一个模块中写了一段逻辑代码时,你要考虑到别人可能会调用你的代码使,这样当你想测试你的代码时,就要加上 if __name__ = '__main__',这样你的运行文件只有在本模块下才会执行,而别人调用时不会执行运行的那部分代码程序.

  
原文地址:https://www.cnblogs.com/liangweijiang/p/11818024.html