什么場景下會有main函式?
當該python腳本被作為模塊(module)引入(import)時,其中的main()函式將不會被執行,
main函式的作用?
__ name__ == '__ main__'是Python的main函式入口,并非說,加入這句才能使用python xxx.py來執行,而是說,這里可以判斷,當前是否是直接被python直接呼叫執行,
main為什么只有檔案當作執行程式的時候才會被執行呢?
這是由于兩方面原因,一方面,main函式是所有執行程式的入口;另一方面,python的解釋器是順序執行腳本的并且不會呼叫任何不屬于程式本身的代碼和函式,需要補充說明的一點是,如果是被作為一個模塊或庫import到程式中,則會直接成為代碼的一部分,
參考代碼:
檔案:main_function.py
import datetime
print('Hello World!')
print('Time is ', datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S %A'))
def main():
print('this message is from main function')
if __name__ == '__main__':
main()
執行結果:
? 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!")
執行結果:
? main git:(master) ? py test_main.py
Hello World!
Time is 2019-07-22 09:52:00 Monday
Done!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/163265.html
標籤:Python
下一篇:numpy中函式shape的用法
