python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python __name__

Python中__name__的具体使用

作者:Jasonial

在Python中,__name__是一个内置变量,用于表示当前模块的名称,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

当你直接运行一个 Python 文件时,无论该文件导入了多少其他的模块,__name__ 的值仍然是 "__main__"。这是因为 __name__ 的值是由 Python 解释器根据脚本的运行方式来设定的,而不是由脚本内部的导入语句决定的。

先总结

当直接运行 main.py

假设你有以下文件结构:

当直接运行 main.py 时,main.py 的 __name__ 会是 "__main__"。因此,if __name__ == "__main__": 里的代码会被执行。

# main.py
import module_a
import module_b

def main():
    print("Main program started")
    module_a.greet_a("Alice")
    module_b.greet_b("Bob")

if __name__ == "__main__":
    main()

当你执行 python main.py 时,输出将是:

Main program started
Hello, Alice! (From module_a)
Hello, Bob! (From module_b)

当 main.py 在另一个脚本中被调用

如果 main.py 被另一个脚本导入,那么 main.py 的 __name__ 将是 "main"(取决于文件名),因此 if __name__ == "__main__": 里的代码不会被执行。

假设你有另一个脚本 runner.py

# runner.py
import main

print("Runner script started")
main.main()  # 显式调用 main 函数

当你执行 python runner.py 时,输出将是:

Runner script started
Main program started
Hello, Alice! (From module_a)
Hello, Bob! (From module_b)

总结

因此,无论你在 main.py 中导入了多少其他的模块,只要你是直接运行 main.py,它的 __name__ 就会是 "__main__"if __name__ == "__main__": 里的代码就会被执行。

到此这篇关于Python中__name__的具体使用的文章就介绍到这了,更多相关Python __name__内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文