1.用法
当作为一个py文件单独执行时,无论是否在if __name__ == '__main__'下的代码都会被执行。而当作为一个模块被引用时,if __name__ == '__main__'下的代码不会被执行。因此当我们想在主文件中引用其他模块而不是让其执行时,就需要添加这个代码。
2.原理
1)__name__:python内置类属性,代表对应程序名称。
2)__main__:并非是一个属性或变量,而是当文件作为主函数时,它的__name__必然为__main__。
每个py文件内都有一个名为__name__的变量,当文件被执行时__name__被赋值为文件名,若文件为主函数,则必然__name__ =='__main__',那么if条件成立,并运行下面的代码。而当文件作为一个模块被引用时,由于主函数不是这个文件,它的__name__变为文件名,则__name__ 不等于__main__,if条件不成立,即不运行if下面的代码。
文章介绍了Python中if__name__==__main__的用法和原理。当py文件作为主程序运行时,该条件成立,相关代码执行;作为模块导入时,条件不成立,避免了代码在导入时被执行。这一机制在组织代码结构和控制执行流程中起到关键作用。

被折叠的 条评论
为什么被折叠?



