溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中if name == "main"的作用和用法

發(fā)布時間:2020-05-29 12:51:03 來源:億速云 閱讀:506 作者:Leah 欄目:軟件技術(shù)

今天小編就為大家?guī)硪黄榻Bpython中if name == "main"的作用和用法的文章。小編覺得挺實用的,為此分享給大家做個參考。一起跟隨小編過來看看吧。

if name == 'main': 的作用

通俗地講,就是這條語句后面的代碼在所在腳本被引用時不能執(zhí)行.
一個python文件通常有兩種使用方法,第一是作為腳本直接執(zhí)行,第二是 import 到其他的 python 腳本中被調(diào)用(模塊重用)執(zhí)行。因此 if name == 'main': 的作用就是控制這兩種情況執(zhí)行代碼的過程,在 if name == 'main': 行之后的代碼只有在第一種情況下(即文件作為腳本直接執(zhí)行)才會被執(zhí)行,而 import 到其他腳本中是不會被執(zhí)行的


test.py
print("這是第一部份")
if name == "main":
print("這是第二部份")

直接運行test.py腳本
.py,結(jié)果是
這是第一部份
這是第二部份


test.py被引入另外的腳本(import_test.py)中

import_test.py
import  test

運行結(jié)果
這是第一部份

每個python模塊(python文件,也就是此處的 test.py 和 import_test.py)都包含內(nèi)置的變量 name,當該模塊被直接執(zhí)行的時候,name 等于文件名(包含后綴 .py );如果該模塊 import 到其他模塊中,則該模塊的 name 等于本模塊名稱(不包含后綴.py)。

而 “main” 始終指當前執(zhí)行模塊的名稱(包含后綴.py)。進而當模塊被直接執(zhí)行時,name == 'main' 結(jié)果為真

在import_test.py運行時
name值是test
main值是import_test.py
if的結(jié)果是假,if語句行后面的語句沒有執(zhí)行

"說明:這里的源碼沒考慮縮進"

以上就是python中if name == "main"的作用和用法的介紹,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI