看到雙下劃線不要怕,他就是個變量而已。
__name__這個變量中儲存着一個字符串,雖然我們沒有聲明過這個變量,但他確實存在,使用dir(),可以查看當前的symbol table(符號表),符號表中包含了目前聲明的所有變量。
符號表基本上長這個樣子
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
__name__存儲的字符串分2種情況:
1,當前程序作爲獨立腳本在運行時,爲'__main__'
2,當前程序作爲模塊(A)被其他腳本(B)在使用時,爲模塊A的模塊名稱。