python常常能看到下面的判斷語句,其實這裡是判斷當前執行的是不是主模組。
這個–main–就是主模組命,那為什麼要用這個判斷語句,因為python的import會把模組匯入,並且匯入後的模組會進行編譯並執行一遍。也就是說如果不使用一下語句進行判斷,那麼python就會將下面的hello world!!!到控制台。
所以我們寫好乙個模組時候,如果想當此模組做為主模組執行時才執行的某些**,我們可以把**執行寫到判斷以下語句中。
if __name__ ==
'__main__'
:print
('hello world!!!'
)#如果當前模組以主模組執行時,此語句才會執行
這裡我舉個例子:
在我的mytest包裡面有乙個模組叫做te2:
def
hellodef()
:print
('hello world!!!'
)if __name__ ==
'__main__'
:
hellodef(
)
現在,我在模組te3裡面匯入模組mytest.te2,並且執行模組te3:
import mytest.te2 as t2 #這裡我匯入模組
if __name__ ==
'__main__'
:print
(t2.__name__)
print
(__name__)
執行結果如下:
mytest.te2 #這裡我匯入的是**mytest.te2**模組所以t2.__name__是mytest.te2
__main__ #檔案以主模組的方式執行所以__name__ == __main__
從執行結果中可以看出並沒有列印hello world!!!這句話,這是因為我在模組mytest.te2裡做測試的時候我使用了判斷語句進行判斷,如果模組是以主模組的方式執行的話才會呼叫**hellodef()**函式。
如果模組是以主模組的發生執行的話才會呼叫**hellodef()**函式。
並且我們可以看到變數**–name–**其實就是模組的名稱。
nginx核心模組配置 主模組配置
官方文件位址 中文文件位址 建議兩個文件個都看看防止遺漏中文文件不全 nginx的程序結構 啟動nginx的時候,會啟動乙個master程序,這個程序不處理任何客戶端的 請求,主要用來產生worker程序,乙個worker程序用來處理乙個request。n nginx模組分為 核心模組 事件模組 標...
C 對主細表的實現模組前端模組
主要用的是easyui 總的訂單資料展示 function initdateorder params constructionorder rows 0 order id messager.confirm 提示資訊 確定要刪除嗎?function r post url.action deleteord...
gprs模組與主站通訊
最近乙個專案,需要做到gprs模組和上位機進行通訊。gprs模組通過串列埠連線到arm板上,因此要進行通訊首先要進行串列埠等初始化。gprs模組供電以後,sim卡首先通過sgsn節點附在gprs網路上 註冊 然後通過ppp協議進行鏈結,接著gprs網路給sim卡分配乙個動態的ip位址 網內位址 進行...