1、import module
import module使被导入模块的顶层代码直接被执行。栗子:
test.py
def HaveFun():
if __name__ == '__main__':
print('I am in my domain,my name is %s' % __name__)
else:
print('Someone else calls me!,my name is %s' % __name__)
HaveFun()
main.py
import test
test.HaveFun()
运行main.py将打印两次“Someone else calls me!,my name is test”。一次是import test运行了HaveFun()函数,另一次是main.py中调用了test.py的HaveFun()函数。
2、__name__
通过类对象的__name__属性来显示类(模块)名。__name__能在运行时检测该模块是被导入还是被直接执行的。
如果模块是被导入, __name__ 的值为模块名字;
如果模块是被直接执行, __name__ 的值为 '__main__' 。例如直接执行test.py。将打印“I am in my domain,my name is __main__“