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...