天天看點

python中__name__講解

一、name變量

1.,我們首先直接使用name(不進行定義),若能正常使用,則說明該變量為系統内置變量,如下圖所示:

python中__name__講解

從上圖中可以知道,name為系統的内置變量。

2.當name在目前執行的檔案中使用時,它的值為main;但是當name在被調用的子產品中時,其值為被調用檔案所在的路徑,見下圖:

python中__name__講解
python中__name__講解

綜上所述:name變量時所屬系統變量,當在執行檔案内使用時其值為main;但是當其他被調用子產品中使用時,其值為被調用子產品所屬的路徑;

二、name變量在實際中的使用作用

我們經常看到再程式中使用

python中__name__講解

if name == 'main':

pass

我們在寫程式時,經常是功能子產品和業務邏輯子產品分離,在寫功能函數時,經常要進行調試函數是否正常,那麼此時我們可以直接在功能子產品最下面加上if name == 'main': pass.這樣就可以在下方直接來測試函數的功能了。

同時在其他子產品來調用這些函數時,由于此時if語句不成立,是以此時将不會執行下面的代碼塊,也就是說在你在調用其他子產品時,被調用的子產品下方的if函數将不會被執行(在進行import module時,将會先加載整個子產品的代碼,可以參考https://blog.51cto.com/10836356/2095490),進而不會影響整個程式的正常使用。

總而言之:友善程式進行測試。