Java的面向?qū)ο缶幊?/a>">Java的面向?qū)ο缶幊?/a>
994
2025-04-02
Python是最流行的編程語言之一。Python中的主要功能是任何程序的執(zhí)行點。在Python編程中定義主要功能是啟動程序執(zhí)行的必要條件,因為只有在直接運行程序時才開始執(zhí)行程序,而作為模塊導入時則不執(zhí)行。
要了解有關(guān)python main函數(shù)的更多信息,讓我們看一下我將在本文中介紹的主題:
什么是Python函數(shù)?
Python中的主要功能是什么
基本的Python main()
Python執(zhí)行模式
讓我們開始吧。
什么是Python函數(shù)?
函數(shù)是可重用的代碼塊,它們構(gòu)成了以編程語言執(zhí)行動作的基礎(chǔ)。它們被利用來對輸入數(shù)據(jù)執(zhí)行計算,并將輸出呈現(xiàn)給最終用戶。
我們已經(jīng)了解到,函數(shù)是一段為執(zhí)行特定任務(wù)而編寫的代碼。Python中有三種類型的函數(shù),即內(nèi)置函數(shù),用戶定義函數(shù)和匿名函數(shù)。現(xiàn)在,主要功能就像Python中的其他任何功能一樣。
因此,讓我們了解Python中的主要功能到底是什么。
什么是Python中的主要功能
在大多數(shù)編程語言中,有一個特殊功能,每次運行程序時都會自動執(zhí)行。這不過是通常表示的main函數(shù)或main()。它實質(zhì)上是程序執(zhí)行的起點。
在Python中,不必在每次編寫程序時都定義main函數(shù)。這是因為,除非定義了特定的函數(shù),否則Python解釋器將從文件的頂部執(zhí)行。因此,有一個定義的Python程序執(zhí)行起點可以更好地了解程序的工作原理。
基本的Python main()
在大多數(shù)Python程序/腳本中,您可能會看到一個函數(shù)定義,后跟一個條件語句,如下所示:
def main(): print("Hello, World!") if __name__== "__main__" : main()
Python是否需要Main函數(shù)?
在Python中擁有Main函數(shù)并不是強制性的,但是,在上面的示例中,您可以看到有一個名為“ main()”的函數(shù)。這之后是一個條件“ if”語句,該語句檢查__name__的值,并將其與字符串“?__main__?”進行比較。評估為True時,它將執(zhí)行main()。
并在執(zhí)行時打印“ Hello,World!”。
當您處理要作為Python腳本執(zhí)行和/或?qū)肫渌K的文件時,這種代碼模式非常常見。
讓我們了解這段代碼是如何執(zhí)行的。在此之前,非常有必要了解Python解釋器根據(jù)代碼的執(zhí)行方式設(shè)置__name__。因此,讓我們了解Python中的執(zhí)行模式
Python執(zhí)行模式
您可以通過兩種主要方法來告訴Python解釋器執(zhí)行代碼:
最常見的方法是將文件作為Python腳本執(zhí)行。
通過將必要的代碼從一個Python文件導入到另一個文件。
無論選擇哪種執(zhí)行方式,Python都會定義一個名為__name__的特殊變量,該變量包含一個字符串。正如我之前所說,此字符串的值取決于代碼的執(zhí)行方式。
有時,當您從模塊導入時,您想知道某個特定模塊的功能是否正在用作導入,或者您是否僅在使用該模塊的原始.py(Python腳本)文件。
為了解決這個問題,Python有一個特殊的內(nèi)置變量__name__。根據(jù)您運行或執(zhí)行腳本的方式,為該變量分配字符串“?__main__?”。
Python中的__main__是什么?
Python Main Function是任何Python程序的開始。當我們運行程序時,解釋器將按順序運行代碼,并且如果作為模塊導入,則解釋器將不會運行主函數(shù),但是僅當主函數(shù)作為Python程序運行時,主函數(shù)才會執(zhí)行。
因此,如果直接運行腳本,Python將為__name__分配“?__main__?”?,即__name__?=“ __main__”。(這發(fā)生在后臺)。
結(jié)果,您最終將如下編寫條件if語句:
if __name__ == "__main__" : Logic Statements
因此,如果條件語句的值為True,則意味著.py(Python腳本)文件正在直接運行或執(zhí)行。
重要的是要理解,如果直接在Python Shell或終端上運行某些內(nèi)容,則該條件語句默認情況下為True。
結(jié)果,程序員將所有必要的函數(shù)定義寫在了最上面,最后在最后寫了這個語句來組織代碼。
簡而言之,__ name__變量可幫助您檢查文件是否正在直接運行或是否已導入。
在編寫將具有主要功能的程序時,應(yīng)牢記一些注意事項。我已通過四個簡單步驟列出了它們。您可以將其視為編寫其中包含主要功能的Python程序時要遵循的良好命名法。
盡可能使用函數(shù)和類。
讓我們看下面的代碼:
def get_got(): print("…Fetching GOT Data… n") data="Bran Stark wins the Iron Throne. n" print("…GOT Data has been fetched…n") return data print("n Demo: Using Functions n") got=get_got() print(got)
在上面的示例中,我定義了一個名為“?get_got?”的函數(shù),該函數(shù)返回存儲在變量“ data”中的字符串。然后將其存儲在稱為“ got”的變量中,然后將其打印出來。我寫下了下面的輸出:
使用__name__來控制代碼的執(zhí)行。
現(xiàn)在您知道什么是__name__變量,如何使用以及為什么使用它。讓我們看看下面的代碼片段:
現(xiàn)在您知道什么是__name__變量,如何使用以及為什么使用它。讓我們看看下面的代碼片段:
if __name__ == "__main__": got = "Game of Thrones is a legendary shown" print(got) new_got = str.split(got) print(new_got)
在上面的示例中,條件if語句將比較變量__name__的值與字符串“?__main__?”。當且僅當它的結(jié)果為True時,才執(zhí)行下一組邏輯語句。由于我們直接運行程序,因此我們知道條件語句將為True。因此,執(zhí)行語句,并獲得所需的輸出。這樣,我們可以使用__name__變量來控制代碼的執(zhí)行。您可以參考下面顯示的輸出:
創(chuàng)建一個函數(shù)main(),其中包含要運行的代碼。
到目前為止,您已經(jīng)知道如何執(zhí)行Python代碼的各種方式。您還知道為什么以及何時使用main()函數(shù)。現(xiàn)在是應(yīng)用它的時候了。看下面的代碼:
print("n Main Function Demo n") def demo(got): print("…Beginning Game Of Thrones…n") new_got = str.split(got) print("…Game of Thrones has finished…n") return new_got def main(): got= "n Bran Stark wins the Iron Throne n" print(got) new_got = demo(got) print(new_got) if __name__ == "__main__": main()
在上面的示例中,我使用了main()的定義,其中包含我要運行的程序邏輯。我還定義了一個名為“ demo”的函數(shù),其中包含一段代碼,可以在必要時重復使用。此外,我還更改了條件塊,以使其執(zhí)行main()。
這樣,我將要運行的代碼放在main()中,將編程邏輯放在稱為“ demo”的函數(shù)中,并將其放在條件塊中的main()中。我已經(jīng)吸收了代碼的輸出,并在下面寫下來,以方便您參考:
注意:如果將此代碼作為腳本運行或?qū)耄瑒t輸出將相同。您可能會看到以下輸出:
從main()調(diào)用其他函數(shù)。
當您編寫成熟的Python程序時,可能會有許多函數(shù)可以調(diào)用和使用。通常,程序執(zhí)行開始后應(yīng)立即調(diào)用某些功能。因此,從main()本身調(diào)用其他函數(shù)總是好的。
讓我們看下面的代碼片段:
print("n Main Function Demo n") def demo(got): print("…Beginning Game Of Thrones Demo1…n") new_got = str.split(got) print("…Game of Thrones has finished…n") return new_got def getgot(): print("…Getting GOT Data…n") got="Bran Stark wins the Iron Throne n" print("…GOT Data has been returned…n") return got def main(): got= getgot() print(got) new_got = demo(got) print(new_got) if __name__ == "__main__": main()
在上面的示例中,我定義了一個名為“?getgot()?”的函數(shù)來獲取數(shù)據(jù)。并且此函數(shù)是從main()本身內(nèi)部調(diào)用的。
因此,總是可以從main()內(nèi)調(diào)用其他函數(shù)來由較小的子任務(wù)組成整個任務(wù),這些子任務(wù)可以獨立執(zhí)行。我還在下面的部分中共享了上述代碼的輸出:
我希望您能夠閱讀本文并對Python中main()函數(shù)的意義以及如何使用它有一個公平的了解。借助Python中的main()函數(shù),我們可以在需要時執(zhí)行大量功能,還可以控制執(zhí)行流程。
軟件開發(fā) IoT 云計算 機器學習 Python
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。