tft每日頭條

 > 生活

 > python魔法函數main作用

python魔法函數main作用

生活 更新时间:2024-08-09 15:13:59

在很多開發語言中,都有一個叫做mian的主函數,這個函數一般都是程序的入口,當程序啟動時,首先執行這個函數。

比如C#語言中的main函數長這個樣子。

static void Main(string[] args)

{

Console.WriteLine("Hello World!");

}

在Python中,有時候可以看到這樣的代碼if __name__=="__main__":,看起來是不是有點像其他語言中的主函數,到底這段代碼是什麼意思呢?

有句話經典的概括了這段代碼的意義。

“Make a script both importable and executable”

大緻的意思就是你寫的模塊既可以導入到别的模塊中用,也可以在模塊本身執行使用

python魔法函數main作用(你必須要知道的Python中的main函數)1

我們編寫一個簡單的函數,并對這些函數做調用。通過下段代碼演示這一過程,源代碼見code\6\func_main.py。

def show():

print("這是一個簡單的函數")

print("無論如何,我都會輸出")

print("__name__變量為:" __name__)

if __name__=="__main__":

print("我要開始測試了")

show()

代碼執行結果如下。

無論如何,我都會輸出

__name__變量為:__main__

我要開始測試了

這是一個簡單的函數

直接運行上述文件,則__name__的值是'__main__',從而if __name__ == '__main__'語句執行。

python魔法函數main作用(你必須要知道的Python中的main函數)2

我們再編寫一個程序,并對這些函數做調用。通過下段代碼演示這一過程,源代碼見code\6\func_main_test.py。

import func_main

func_main.show()

代碼執行結果如下。

無論如何,我都會輸出

__name__變量為:func_main

這是一個簡單的函數

其中定義的main()函數隻有當Python腳本直接作為執行程序時才會執行,當Python腳本被作為模塊(module)引入(import)時,其中的main()函數将不會被執行。

這是由于當你以單個文件運行時,__name__便是__main__,當你以模塊導入使用時,這個屬性便是這個模塊的文件名。

函數__main__的一個用處就是調試代碼的時候,在if __name__ == '__main__'中加入一些我們的調試代碼,我們可以讓外部模塊調用的時候不執行我們的調試代碼,但是如果我們想排查問題的時候,直接執行該模塊文件,調試代碼能夠正常運行。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved