1.__name__是啥
__name__ 是Python的模塊名字。
手冊解釋:The name of the module.
2.__name__的值
首先,一個變量一次只有一個值。
其次,__name__的值python自動給。
比如,你的文件叫 hello.py,它在引入之后,__name__就是hello.
3.__main__是啥
是當前直接執行的模塊的名字。python給的。
也就是說,當你的模塊正在執行時,它的名字(__name__)就是 __main__。
那上面那個執行時還叫不叫hello呢,答案是不叫。他自己執行時叫自己 __main__,別人才叫他hello。
4.if __name__ == '__main__' 是啥
很明顯,是一個判斷。
5.有什么用
這個下面的代碼是模塊直接執行時才去運行。
有一些代碼必須在模塊直接執行時運行。可能你現在還沒遇到。
你現在運行的代碼,執行可能是單模塊,所以對於你來說,判斷和不判斷都可以執行。
6.看例子
我有一個hello.py,內容如下:
# coding: utf-8 # 當前模塊是 hello.py # 首先,你要有一個模塊叫world.py,隨便寫啥都行 # 導入模塊 import world
# 打印導入的模塊的名字(__name__) print(world.__name__) # 在當前文件打印__name__,這是當前模塊的屬性 print(__name__) # 看看當前模塊的名字是不是__main__ if __name__ == '__main__': print("It's main") # 看看當前模塊的名字是不是hello if __name__ == 'hello': print("It's hello")
現在,為了便於理解,在world.py寫了以下代碼:
# coding: utf-8 if __name__ == '__main__': print("It's main") if __name__ == 'world': print("It's world")
我們執行hello.py,輸出如下
It's world
world
__main__
It's main
嗯,剩下的自己理解。
