Python中.py文件既可以用来直接执行,也可以用来作为模块被导入。
__name__
是当前模块名,当模块被直接运行时模块名为 __main__
。if __name__
== '__main__
',即判断当模块被直接运行时,以下代码块将被运行;而当模块是被导入时,代码块不被运行。(该语句用于调试代码)
#module.py
def test():
print("这是个测试")
def main():
print("we are in %s"%__name__)
if __name__ == '__main__': #判断是否是在直接运行该.py文件
main()
test()
输出:
we are in __main__
这是个测试
-------------------------------------------------------------------------------------------
#anothermodule.py
from module import main,test #导入模块
main()
输出:
we are in module
# import一个模块,那么模块__name__ 的值通常为模块文件名。这里只是调用了module中的main()函数,而test()函数没有被调用,说明if __name__ == '__main__'后的代码没有被执行!
网友评论