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__',这样你的运行文件只有在本模块下才会执行,而别人调用时不会执行运行的那部分代码程序.