python中的 if __name__ == '__main__'
若要把一个东西封装成模块,又想让它可以执行的话,必须将要执行的代码放在if __name__ == '__main__'
下
当一个py文件被运行时,他的__name__是__main__,从而__name__ == ‘main’:下面的函数可以被调用
当一个py文件被当做模块导入时,他的__name__是自己的py文件名,从而__name__ == ‘main’:下面的函数不可以被调用
原因:
__name__
本质上是模块对象的一个属性,使用 import 语句时,__name__
就会被赋值为该模块的名字,自然就不等于__main__
了。