Python中的模块(.py文件)在创建之初会自动加载一些内建变量,__name__就是其中之一。Python模块中通常会定义很多变量和函数,这些变量和函数相当于模块中的一个功能,模块被导入到别的文件中,可以调用这些变量和函数。那么这时 __name__ 的作用就彰显了,它可以标识模块的名字,可以显示一个模块的某功能是被自己执行还是被别的文件调用执行,


明确一点,导包会先执行包里面的代码,所以p1这时候会输出pr2的内容,如果加上
if __name__ == '__main__':表示只有自己执行这个文件时候才会执行这个文件的代码,所以这就是name的作用,
此时p1执行时不会继续输出pr2的内容,就这么多