1、新建 test.py 模块: def GetModuleName(): print('__name__ = ', __name__) def PrintName(): print('PrintName:', 'Andy') if __name__ == '__main__': GetModuleName() PrintName() 运行结果: __name__ = __main__ PrintName: Andy 2、新建 Demo.py 模块 import test def Demo(): print('__name__ = ',__name__) if __name__ == '__main__': Demo() print('test.py __name__ = ',test.__name__) 输出: __name__ = __main__ test.py __name__ = test 总结: 1、__name__是一个系统变量,用来标识模块的名字。 2、__name__ == '__main__'的意思: a) 当 python 文件被直接运行的时候,__name__的值为’__main__’ , if __name__ == '__main__' 之下的代码将被运行。 b) 当 python 文件以模块形式被导入时,__name__的值为该模块名字 if __name__ == '__main__' 之下的代码块不被运行。 通过这个特性可以在if语句里面添加测试代码,可以提高减少bug,提高程序的可行性。 |
|