__name__ =="__main__"

test.py

    print("这是__name__:");

    print(__name__);

    if __name__ == "__main__":

    print("__name__等于__main__")

import_test.py

import test

执行python test.py

这是__name__:

__main__

__name__等于__main__

执行python import_test.py

这是__name__:

test

每个python模块(python文件,也就是此处的test.py和import_test.py)都包含内置的全局变量__name__。

全局变量__name__存放的就是模块的名字(也就是文件名)

特殊情况就是,当一个模块作为脚本执行时或者在交互式环境中,如Ipython、Python自带的shell等直接运行代码,__name__的值不再是模块名,而是__main__

如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。

而“__main__”相当于当前执行文件的名称(包含了后缀.py)。

进而当模块被直接执行时,__name__ == '__main__'结果为真。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容