什么場景下會有main函數(shù)?
當(dāng)該python腳本被作為模塊(module)引入(import)時,其中的main()函數(shù)將不會被執(zhí)行。
main函數(shù)的作用?
__name__ == '__main__'
是Python的
main函數(shù)
入口。并非說,加入這句才能使用
python xxx.py
來執(zhí)行,而是說,這里可以判斷,當(dāng)前是否是直接被python直接調(diào)用執(zhí)行。
main為什么只有文件當(dāng)作執(zhí)行程序的時候才會被執(zhí)行呢?
這是由于兩方面原因,一方面,main函數(shù)是所有執(zhí)行程序的入口;另一方面,python的解釋器是順序執(zhí)行腳本的并且不會調(diào)用任何不屬于程序本身的代碼和函數(shù),需要補(bǔ)充說明的一點是,如果是被作為一個模塊或庫import到程序中,則會直接成為代碼的一部分。
參考代碼:
文件:main_function.py
1 import datetime 2 3 print ( ' Hello World! ' ) 4 print ( ' Time is ' , datetime.datetime.now().strftime( ' %Y-%m-%d %H:%M:%S %A ' )) 5 6 7 def main(): 8 print ( ' this message is from main function ' ) 9 10 11 if __name__ == ' __main__ ' : 12 main()
執(zhí)行結(jié)果:
? main git:(master) ? py main_function.py Hello World! Time is 2019-07-22 09:50:50 Monday this message is from main function
文件二:test_main.py
import main_function print ( " Done! " )
執(zhí)行結(jié)果:
? main git:(master) ? py test_main.py Hello World! Time is 2019-07-22 09:52:00 Monday Done!
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
