新聞中心
Python作為一門較為靈活的解釋型腳本語言,其中定義的main()函數(shù)只有當該Python腳本直接作為執(zhí)行程序時才會執(zhí)行;

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設、做網(wǎng)站與策劃設計,西安網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設十載,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:西安等地區(qū)。西安做網(wǎng)站價格咨詢:18982081108
當該python腳本被作為模塊(module)引入(import)時,其中的main()函數(shù)將不會被執(zhí)行。
這是由于兩方面原因:
一方面,main函數(shù)是所有執(zhí)行程序的入口;
另一方面,python的解釋器是順序執(zhí)行腳本的并且不會調用任何不屬于程序本身的代碼和函數(shù)。
需要補充說明的一點是,如果是被作為一個模塊或庫import到程序中,則會直接成為代碼的一部分。
下面可以通過程序來更好地了解main函數(shù)的作用,這里我們編寫兩段程序print_main_function.py和print_main_module.py
print_main_function.py
# import os
# import time
import datetime
print('Hello World!')
print('Time is ', datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S %A'))
print('__name__ value: ', __name__)
def main():
print('this message is from main function')
if __name__ == '__main__':
main()
# print(__name__)print_main_module.py
import print_main_function
print("Done!")
單獨運行print_main_function.py程序,結果如下
運行print_main_module.py程序(將print_main_function.py作為module引入執(zhí)行),結果如下
對比兩段程序運行結果可發(fā)現(xiàn),當直接運行包含main函數(shù)的程序時,main函數(shù)會被執(zhí)行,同時程序的__name__變量值為'__main__'。
當包含有main函數(shù)的程序被作為module被import時,該module程序(print_main_function.py)對應的__name__變量值為該module對應的函數(shù)名稱,因此該module程序(print_main_function.py)中的main函數(shù)不會被執(zhí)行。
標題名稱:創(chuàng)新互聯(lián)Python教程:Python中的main函數(shù)解析
標題來源:http://www.dlmjj.cn/article/dpddies.html


咨詢
建站咨詢
