在 Python 中,每个模块都有一个名字,也就是文件名去掉后缀名。当我们执行某个 Python 文件时,Python 解释器会为该文件创建一个内置变量 __name__
,并将其值赋为 "__main__"
。而当一个模块被另一个模块导入时,Python 解释器也会为该模块创建一个内置变量 __name__
,并将其赋为导入模块的名字(即文件名)。
因此,当模块作为主程序执行时,__name__
的值为 "__main__"
,条件判断语句 if __name__ == '__main__':
成立,其中所包含的代码会被执行。而当模块被其他模块导入时,__name__
的值不再是 "__main__"
,条件判断语句返回 False,其中所包含的代码块则不会被执行。
这里的 __name__
是一个预定义的系统变量,其作用是指示当前模块的名字。借助 __name__
可以通过程序的结构给予提示并区分程序在运行时扮演的角色,同时也可以实现模块的重用及测试等功能。
(81条消息) Python中if __name__ == ‘__main__‘:的作用和原理_python if_农村詹姆斯的博客-CSDN博客