还是基础__name__的使用与解释。

__name__可以返回一个类或者一个函数的名字。

def test():
    pass

class Human:
    pass

print(test.__name__)
print(Human.__name__)
test
Human

 我们在程序编写时候,经常用到的__name__ == __main__

那时因为__name__直接可以在模块中或者你写的代码中直接运行。

任何一个python的shell里面直接执行__name__必定返回"__main__",因为在主函数中,运行该模块的名称就是__main__。

但如果作为被其它模块调用时,它在执行__name__的时候就时它的文件名了。

这里我做一个比较不同的试验。

print(__name__)


if __name__ == 'a1':   # 由于 __name__不等于a1所以后面的不执行
    print(1111)
__main__

但当我:

import a1

 输出

a1
1111

 因为a1被当做模块导入时,它的名字已经变成a1,后面的print就可以正常执行输出。

posted @ 2019-11-24 14:40  就是想学习  阅读(236)  评论(0编辑  收藏  举报