__name__在调用时的区别

示例代码:

#module.py
def main():
  print "we are in %s"%__name__
if __name__ == '__main__':
  main()

这个函数定义了一个main函数,我们执行一下该py文件发现结果是打印出”we are in __main__“,说明我们的if语句中的内容被执行了,调用了main():

但是如果我们从另我一个模块导入该模块,并调用一次main()函数会是怎样的结果呢?

#anothermodle.py
from module import main
main()

其执行的结果是:we are in module

 

 

这样做的目的是在其他模块引入后,不会执行两次函数

 

posted @ 2017-08-23 18:48  左岸边  阅读(107)  评论(0编辑  收藏  举报