我们在Python脚本中经常会看到
if __name__="__main__":
这个语句,这个语句是什作用。
先说结论
Python解释器在解释执行一个.py源文件时,会先设置一些变量,__name__就是其中一个:在这个.py文件时作为主调文件时也就是用 python foo.py
来运行这个文件时就会将其中的 __name__变量设置为 “ __ main __"
如果在另一个文件里将 foo.py 以 import foo 语句的形式引入的话就会将 foo.py 中的 __ name __ 变量设置为“foo"
代码演示
import1.py 文件如下 if __name__=="import":
print("i am imported by others")
if __name__=="__main__":
print("i am the main")
main.py 如下
import import1
if __name__=="__main__":
print("it is the main")
运行main.py结果如下图
有两句输出分别来自import.py和main.py!!!