python是一種解釋型指令碼語言,和c/c++語言不同,c/c++程式從main函式開始執行,python程式從開始到結尾順序執行。先總結下python中的main函式的作用:讓模組(函式)可以自己單獨執行(除錯),相當於構造了呼叫其它函式的入口,這就類似於c/c++裡面的main函式了。
一方面:我們想要自己單獨執行(除錯)
這裡我們實際除錯一下(假設這個檔案是test.py):
執行python 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__)
這裡我們看到我們定義的aaa函式沒有被執行,而main函式裡面的內容被執行了,表明 if __name__ == '__main__': 這條判斷語句是通過的,執行了判斷條件裡的main();hello world!
this message is from main function
now __name__ is __main__
另一方面:通過import命令就可以使用其它.py檔案裡面的函式,我們將test.py中的模組(函式)匯入call.py,需注意test.py和call.py放在同乙個資料夾下;
執行python call.py 輸出:#call.py
from test import aaa
aaa()
print ('now __name__ is %s' %__name__)
所以當我們自己寫了.py檔案,想要測試裡面的函式時,就這樣構造乙個main函式入口就可以呼叫測試自己寫的函式啦~hello world!
this message is from aaa function
now __name__ is __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()
實際上這樣也可以直接除錯,test2.py同樣可以直接被其它模組呼叫,所以python裡面mian的設定有些雞肋?hello world!
this message is from main function
this message is from aaa function
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...