__name__
模块被当做脚本执行时,__name__ = '__main__'
模块被当做模块导入时,__name__= 模块名
利用这种模式可以将测试代码放入如下模式中,则只有在模块自己执行时才会执行,被导入时不会执行
#-*- coding=utf-8 -*- __all__ = ['money','read1'] money = 1000 def read1(): print('apam -> read1-> money',money) def read2(): print('spam->read2 calling read') def change(): global money money=0 #测试代码 if __name__ == '__main__': print('from the spam.py') change() print(money) #0