美文网首页
关于if__name__=='__main__':

关于if__name__=='__main__':

作者: Dumplingsrush | 来源:发表于2017-11-10 00:33 被阅读0次

网上相关的解释很多,有两篇文章与回答讲得比较清晰。

stackoverflow上的回答
一个回答者的举例

结合两个文章来看,当你直接运行当前这个A.module时,其中的name这个变量的值就被设定为了"main";而假设如果你从B.module中导入这个A.module时,A.module中的name变量就会被设定为A.module的名称,也就是A。

有一种常用的情况使用if__name__=='main'
语句:当我们想一个语句只在module独立运行时执行,而不允许其在其他模块引用时执行,我们就可以使用这个语句。

#!/usr/bin/python
# Filename: using_name.py


if __name__ == '__main__':
    print 'This program is being run by itself'
else:
    print 'I am being imported from another module'
                
$ python using_name.py
This program is being run by itself

$ python
>>> import using_name
I am being imported from another module
#输出I am being ....是因为using_name.py是作为其他module导入的
所以它的__name__被改为它的模块名,
也就是__name__='using_name',不再是'__main__'所以执行了else语句。
>>>

相关文章

网友评论

      本文标题:关于if__name__=='__main__':

      本文链接:https://www.haomeiwen.com/subject/njsvmxtx.html