終於明白if __name__ == '__main__':了


其實很簡單

if __name__ == '__main__': 就是一個判斷

__name__是系統變量

__name__有一個特性,在當前文件運行是__main__,調用文件就是調用文件的路徑了 

可以先                     print(__name__)

                               運行當前文件

                               結果為"__main__"

但是當你用當前文件調用其他文件(模塊)時,文件里面有print(__name__),就是文件路徑了

假如我cal文件代碼如下

def add(x, y):
    return x + y


print(__name__)

我在test文件調用cal文件

解釋一下imoprt會做什么

1.會執行導入的文件的代碼

2.引用導入文件的變量

import cal
這里執行結果就是cal文件的路徑了
執行test文件,不是執行cal文件

知道這個特性就很容易明白if __name__ == '__main__':是有什么用的了

還不明白,我給你們解釋一下:

if __name__ == '__main__':在模塊里面用於放測試代碼,因為導入模塊就會執行模塊的代碼,但是模塊的測試代碼我們是不需要執行的,我們只需要模塊的功能,這是就要用到if __name__ == '__main__':

當別人調用這個模塊的時候if__name__就不等於"__main__"了

__name__是模塊的路徑了,所以if__name__是不等於__main__的,不滿足條件,不執行if __name__ == '__main__':下面的代碼

但是你去模塊文件執行模塊文件,__name__就是等於__main__了,滿足條件.所以可以用於測試

 


免責聲明!

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



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