在python编程中,加载模块会导致这个模块被"执行",即被导入模块的顶层代码将直接被执行。 这通常包括设定全局变量以及类和函数的声明。
如果有检查 __name__ 的操作, 那么它也会被执行。
脚本test_load_module.py:
复制代码 代码示例:
i = 5
print 'value is', i
print '__name__ is:', __name__
if __name__ == '__main__':
print "this is __main__"
else:
print 'this is not __main__'
直接执行此脚本,python test_load_module.py,输出:
复制代码 代码示例:
value is 5
__name__ is: __main__
this is __main__
如果在python shell中,输入import test_load_module命令,输出:
复制代码 代码示例:
>>> import test_load_module
value is 5
__name__ is: test_load_module
this is not __main__
注意:这样的执行可能不是想要的结果。
应该把尽可能多的代码封装到函数。
只把函数和模块定义放入模块的顶层,才是良好的模块编程习惯。