看到双下划线不要怕,他就是个变量而已。
__name__这个变量中储存着一个字符串,虽然我们没有声明过这个变量,但他确实存在,使用dir(),可以查看当前的symbol table(符号表),符号表中包含了目前声明的所有变量。
符号表基本上长这个样子
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
__name__存储的字符串分2种情况:
1,当前程序作为独立脚本在运行时,为'__main__'
2,当前程序作为模块(A)被其他脚本(B)在使用时,为模块A的模块名称。