if __name__ == '__main__' 詳解


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

  嗯,剩下的自己理解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM