python中的 “__name__”属性

发布时间 2023-08-24 10:41:40作者: namezhyp

     在python中,每个脚本文件都会有自己的__name__属性。在单独运行一个脚本时,name属性会被赋值为 __main__,这并不是说当前脚本名字叫main,这个值表示当前脚本是主函数。          

     如果现在有一个test1脚本和test2脚本。单独运行test1脚本时,这个属性就会被赋值为__main__。而当test1被test2调用时,test1的name属性就会被赋值为test1。

    为什么要有这样的设计?python有这样的一条语句:

if __name__ == "__main__":
    xxxxx

      一个python脚本既可能单独执行,也可能被其他脚本调用执行。test1被test2调用时,test1的函数可以被test2使用,此外会执行test1的所有其他顶层代码。如果test2只需要使用test1的函数,那就可以把不需要的代码都写在这个语句下,避免不必要的代码执行。