__name__
首先對于用雙下劃線開頭且結(jié)尾的變量,在 Python 中被稱為 內(nèi)置變量 ,除了 __name__ ,我們常見的還有 __init__ , __dict__ 等等.那么有多少內(nèi)置變量呢?我們可以通過下面在交互界面輸入下面的命令,查看 Python 全部內(nèi)置變量和內(nèi)置函數(shù) >>> dir(__builtins__)結(jié)果如下圖: (9500.163.com)不同情況下的 __name__ 的值
首先我們需要知道 __name__ 在不同情況下會有不同值,它的值取決于我們是如何執(zhí)行腳本的.我們可以通過幾個例子感受一下:Example 0
# print(f'__name__ 在 值為 {__name__}')然后直接執(zhí)行一下代碼 $ python 然后看一下輸出 $ python __name__ 在 值為 __main__在這個例子中,我們發(fā)現(xiàn) __name__ 的值是 __main__Example 1
在這個例子中,我們重新創(chuàng)建一個腳本 然后我們在 中調(diào)用 # import test print(f'__name__ 在 值為 {__name__}')接著執(zhí)行一下 ,再看一下輸出 python __name__ 在 值為 test __name__ 在 值為 __main__結(jié)果是不是很有意思?整個過程是什么樣子的呢?簡單的畫了一個圖 (9501.163.com)什么時候使用 __name__
有時候,我們用 Python 寫了一個腳本,當(dāng)我們既希望這個腳本可以單獨(dú)運(yùn)行,同樣希望它可以在其他的腳本中發(fā)揮作用. 這個時候就需要考慮使用 __name__ 了. 這里通過改造上面 Example 1的例子來直觀感受一下 修改一下 文件 # def hello(name): print(f'Hello,{name}') if __name__ == '__main__': hello("test")再修改一下 文件 # from test import hello hello("test1")然后讓我們先嘗試直接運(yùn)行一下 ,很顯然這個時候, if 語句條件滿足,會輸出 Hello,test $ python Hello,test這個時候我們?nèi)绻\(yùn)行 ,程序就會輸出 Hello,test1 了 $ python Hello,test1如果我們把 if __name__ == "__main__" 在 去掉會發(fā)生什么呢? $ python Hello,test Hello,test1 達(dá)到當(dāng)天最大量API KEY 超過次數(shù)限制1.《【#NAME?】「Python」__name__ 是什么?》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《【#NAME?】「Python」__name__ 是什么?》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/caijing/2172270.html