📌  相关文章
📜  if __name_=="_main__": 怎么办? - Python (1)

📅  最后修改于: 2023-12-03 15:31:21.675000             🧑  作者: Mango

Python中的 if __name__=="__main__": 用途

在Python中,if __name__=="__main__":是一个常用的代码块,常常出现在Python脚本的末尾。它的主要作用是判断该模块是以主程序形式运行还是以模块形式导入到其他程序中运行。

以主程序形式运行

在Python中,如果一个模块被当做主程序运行,那么__name__的值为__main__。例如我们有一个名为example.py的模块,内容如下:

def hello():
    print("Hello World!")

if __name__=="__main__":
    hello()

我们在终端中运行该脚本:

python example.py

此时,__name__的值为__main__,因此if __name__=="__main__":判断为True,hello()被执行,输出“Hello World!”。

以模块形式导入到其他程序中运行

在Python中,一个模块也可以被其他程序导入并调用其中的函数。此时,__name__的值将变为模块的名称。例如我们有一个名为example.py的模块,内容如下:

def hello():
    print("Hello World!")

if __name__=="__main__":
    hello()

我们在另一个脚本中导入该模块:

import example

example.hello()

此时,__name__的值为example,因此if __name__=="__main__":判断为False,hello()不会被执行。我们只能通过example.hello()调用hello()函数。

总结

if __name__=="__main__":的作用是让一个模块既可以被当做程序运行,又可以被其他程序导入并调用其中的函数。因此,我们可以在模块中添加一些测试代码,以确保模块功能的正确性。

需要注意的是,if __name__=="__main__":中的代码只在模块被当做程序运行时执行,而在模块被导入时不执行。这也是为什么我们要将可执行代码写在这个代码块中的原因。

希望这篇文章对你有所帮助,可以订阅我们的公众号,获取更多Python编程相关的文章。