python編程中的if __name__ == 'main': 的做用和原理

python編程中的if name == 'main': 的做用和原理python

在大多數編排得好一點的腳本或者程序裏面都有這段if name == 'main': ,雖然一直知道他的做用,可是一直比較模糊,收集資料詳細理解以後與你們分享。編程

** 一、這段代碼的功能**import

一個python的文件有兩種使用的方法,第一是直接做爲腳本執行,第二是import到其餘的python腳本中被調用(模塊重用)執行。所以if name == 'main': 的做用就是控制這兩種狀況執行代碼的過程,在if name == 'main': 下的代碼只有在第一種狀況下(即文件做爲腳本直接執行)纔會被執行,而import到其餘腳本中是不會被執行的。變量

** 二、運行的原理**原理

每一個python模塊都包含一個內置的變量,即__name__,當運行模塊(.py文件)被執行的時候,__name__等於文件名(包含了後綴.py);若是import到其餘模塊中,則__name__等於模塊名稱(不包含後綴.py)。而「main」等於當前執行文件的名稱(包含了後綴.py)。進而當模塊被直接執行時,name == 'main'結果爲真。程序

相關文章
相關標籤/搜索