码迷,mamicode.com
首页 > 编程语言 > 详细

python if __name__ == "__main__"

时间:2019-10-03 10:46:22      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:程序   div   分析   name   语句   func   python if   运行   val   

之前对这个的认识是:

if __name__ == "__main__":
    #这个时候可以执行程序

 

方式一: 

这个是在你自己眼中,你认为你自己是__main__

举例

print(‘hello world!‘)
print(‘__name__value:‘,__name__)

def main():
    print(‘This message is from main function‘)

if __name__ == "__main__":
    main()

  执行上述代码,输出

hello world!
__name__value: __main__
This message is from main function

  我们可以分析得到:这时__name__ == "__main__"

所以第二句话输出__main__

在if __name__ == "__main__":这句,显然成立,我们直接执行main()函数的内容,所以输出This message is from main function

 

再换一种情况

此为print_func.py

print(‘hello world!‘)
print(‘__name__value:‘,__name__)

def main():
    print(‘This message is from main function‘)

if __name__ == "__main__":
    main()

  另外一个python文件为print_module.py

import print_func
print("Done!")

  这个时候输出啥呢?

我们分析一下:首先在print_module.py中,也就是在别人的眼中,__name__ == "print_func",也就不再执行print_func.py中的if __name__ == "__main__":语句

那么输出

hello world!
__name__value: print_func
Done!

  

总结

自己运行自己的程序,__name__ 即为__main__
当程序当做脚本被别人调用运行时,其__name__ 为自己的模块名称,这里的print_func即被导入到print_module中当做脚本被运行时,则print_func的__name__即变为其自身的模块名。

python if __name__ == "__main__"

标签:程序   div   分析   name   语句   func   python if   运行   val   

原文地址:https://www.cnblogs.com/ivyharding/p/11619017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!