__name__的目的是什么?


问题内容

怎么__name__办?我只看到它与之配对,仅此__main__而已。

我知道经典if __name__ == __main__:定义了作为包与独立运行时的行为。

但是还有其他用途__name__吗?


问题答案:

__name__"__main__",如果你直接执行脚本。如果要导入模块,__name__则为模块的名称。

foo.py:

print(__name__)

bar.py

import foo

运行脚本:

$ python foo.py
__main__
$ python bar.py 
foo