1. 程式人生 > >2018.9.23 if __name__ == '__main__': 用法

2018.9.23 if __name__ == '__main__': 用法

本質:name 是當前模組名,當模組被直接執行時模組名為 main 。這句話的意思就是,當模組被直接執行時,以下程式碼塊將被執行,當模組是被匯入時,程式碼塊不被執行。

if __name__ == '__main__':              # 注意 這裡是兩個_

這段程式碼的功能理解如下:

一個python的檔案有兩種使用的方法--->

作用一,直接作為指令碼執行。

作用二,import到其他的python指令碼中被呼叫(模組重用)執行。

  舉個例子,下面在test.py中寫入如下程式碼:

print "I'm the first."

if __name__=="__main__":  

print "I'm the second."

執行test.py 可以成功print兩行字串:

I'm the first.

I'm the second.

然後在同一資料夾新建名稱為import_test.py的指令碼,只輸入如程式碼:

import test

執行import_test.py指令碼,輸出結果如下:

I'm the first.

只輸出了第一行字串。

即,if __name__=="__main__": 之前的語句被執行,之後的沒有被執行。

if __name__ == '__main__' : 的作用就是控制這兩種情況執行程式碼的過程,在if __name__ == '__main__': 下的程式碼只有在第一種情況下(即檔案作為指令碼直接執行)才會被執行,而import到其他指令碼中是不會被執行的。