python中的main函式

2021-09-18 07:52:48 字數 1664 閱讀 2188

python是一種解釋型指令碼語言,和c/c++語言不同,c/c++程式從main函式開始執行,python程式從開始到結尾順序執行。先總結下python中的main函式的作用:讓模組(函式)可以自己單獨執行(除錯),相當於構造了呼叫其它函式的入口,這就類似於c/c++裡面的main函式了。

一方面:我們想要自己單獨執行(除錯)

這裡我們實際除錯一下(假設這個檔案是test.py):

#test.py

print('hello world!')

def aaa():

print('this message is from aaa function')

def main():

print('this message is from main function')

if __name__ == '__main__':

main()

print ('now __name__ is %s' %__name__)

執行python test.py  輸出:

hello world!

this message is from main function

now __name__ is __main__

這裡我們看到我們定義的aaa函式沒有被執行,而main函式裡面的內容被執行了,表明 if __name__ == '__main__': 這條判斷語句是通過的,執行了判斷條件裡的main();

另一方面:通過import命令就可以使用其它.py檔案裡面的函式,我們將test.py中的模組(函式)匯入call.py,需注意test.py和call.py放在同乙個資料夾下;

#call.py

from test import aaa

aaa()

print ('now __name__ is %s' %__name__)

執行python  call.py  輸出:

hello world!

this message is from aaa function

now __name__ is __main__

所以當我們自己寫了.py檔案,想要測試裡面的函式時,就這樣構造乙個main函式入口就可以呼叫測試自己寫的函式啦~

補充:test2.py

print('hello world!')

def aaa():

print('this message is from aaa function')

def main():

print('this message is from main function')

main()

aaa()

輸出:

hello world!

this message is from main function

this message is from aaa function

實際上這樣也可以直接除錯,test2.py同樣可以直接被其它模組呼叫,所以python裡面mian的設定有些雞肋?

python中main函式的用法

什麼場景下會有main函式?當該python指令碼被作為模組 module 引入 import 時,其中的main 函式將不會被執行。main函式的作用?name main 是python的main函式入口。並非說,加入這句才能使用python py來執行,而是說,這裡可以判斷,當前是否是直接被py...

python中main函式的用法

什麼場景下會有main函式?當該python指令碼被作為模組 module 引入 import 時,其中的main 函式將不會被執行。main函式的作用?name main 是python的main函式入口。並非說,加入這句才能使用python py來執行,而是說,這裡可以判斷,當前是否是直接被py...

python中main函式的用法

什麼場景下會有main函式?當該python指令碼被作為模組 module 引入 import 時,其中的main 函式將不會被執行。main函式的作用?name main 是python的main函式入口。並非說,加入這句才能使用python py來執行,而是說,這裡可以判斷,當前是否是直接被py...