__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