創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)公司是專業(yè)的仁布網(wǎng)站建設(shè)公司,仁布接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行仁布網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!這篇文章主要介紹Python中的main函數(shù)有什么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
Python作為一門較為靈活的解釋型腳本語言,其中定義的main()函數(shù)只有當(dāng)該P(yáng)ython腳本直接作為執(zhí)行程序時(shí)才會執(zhí)行;
當(dāng)該python腳本被作為模塊(module)引入(import)時(shí),其中的main()函數(shù)將不會被執(zhí)行。
這是由于兩方面原因:
一方面,main函數(shù)是所有執(zhí)行程序的入口;
另一方面,python的解釋器是順序執(zhí)行腳本的并且不會調(diào)用任何不屬于程序本身的代碼和函數(shù)。
需要補(bǔ)充說明的一點(diǎn)是,如果是被作為一個(gè)模塊或庫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!")
單獨(dú)運(yùn)行print_main_function.py程序,結(jié)果如下
運(yùn)行print_main_module.py程序(將print_main_function.py作為module引入執(zhí)行),結(jié)果如下
對比兩段程序運(yùn)行結(jié)果可發(fā)現(xiàn),當(dāng)直接運(yùn)行包含main函數(shù)的程序時(shí),main函數(shù)會被執(zhí)行,同時(shí)程序的__name__變量值為'__main__'。
當(dāng)包含有main函數(shù)的程序被作為module被import時(shí),該module程序(print_main_function.py)對應(yīng)的__name__變量值為該module對應(yīng)的函數(shù)名稱,因此該module程序(print_main_function.py)中的main函數(shù)不會被執(zhí)行。
以上是Python中的main函數(shù)有什么用的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!