<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          學(xué)Python,還不知道m(xù)ain函數(shù)嗎

          共 5744字,需瀏覽 12分鐘

           ·

          2022-10-20 01:13


          ↑ 關(guān)注 + 星標(biāo) ,每天學(xué)Python新技能

          后臺(tái)回復(fù)【大禮包】送你Python自學(xué)大禮包

          Python 中的 main 函數(shù)充當(dāng)程序的執(zhí)行點(diǎn),在 Python 編程中定義 main 函數(shù)是啟動(dòng)程序執(zhí)行的必要條件,不過它僅在程序直接運(yùn)行時(shí)才執(zhí)行,而在作為模塊導(dǎo)入時(shí)不會(huì)執(zhí)行。

          要了解有關(guān) Python main 函數(shù)的更多信息,我們將從如下幾點(diǎn)逐步學(xué)習(xí):

          • 什么是 Python 函數(shù)
          • Python 中 main 函數(shù)的功能是什么
          • 一個(gè)基本的 Python main() 是怎樣的
          • Python 執(zhí)行模式

          Let’s get started

          什么是 Python 函數(shù)

          相信很多小伙伴對(duì)函數(shù)都不陌生了,函數(shù)是可復(fù)用的代碼塊,它構(gòu)成了在編程語言中執(zhí)行操作的基礎(chǔ),它們被用來對(duì)輸入數(shù)據(jù)執(zhí)行計(jì)算并將輸出呈現(xiàn)給最終用戶。

          我們已經(jīng)了解到,函數(shù)是為執(zhí)行特定任務(wù)而編寫的一段代碼。Python中的函數(shù)分為三種類型,即內(nèi)置函數(shù)、用戶定義函數(shù)和匿名函數(shù)。同時(shí)我們需要明確,main 函數(shù)與 Python 中的任何其他函數(shù)都是一樣的,沒有區(qū)別。

          那么讓我們來了解一下 Python 中的 main 函數(shù)到底是什么。

          Python 中的 main 函數(shù)是什么

          在大多數(shù)編程語言中,都有一個(gè)特殊的函數(shù),每次程序運(yùn)行時(shí)都會(huì)自動(dòng)執(zhí)行,這就是是 main 函數(shù),或通常表示的 main(),它本質(zhì)上是程序執(zhí)行的起點(diǎn)。

          在 Python 中,不必每次編寫程序時(shí)都定義 main 函數(shù),這是因?yàn)槌嵌x了特定函數(shù),否則 Python 解釋器都會(huì)從文件頂部執(zhí)行。因此,為 Python 程序的執(zhí)行定義一個(gè)起點(diǎn)有助于更好地理解程序的工作原理。

          一個(gè)基本的 Python main()

          在大多數(shù) Python 程序/腳本中,我們可能會(huì)看到一個(gè)函數(shù)定義,然后是一個(gè)條件語句,如下所示:

          def main():
              print("Hello, World!")
              
              
          if __name__== "__main__" :
              main()

          main 函數(shù)對(duì)于 Python 來說是必須的嗎

          在 Python 中擁有 main 函數(shù)并不是強(qiáng)制性的,但是,在上面的示例中,我們可以看到,定義了一個(gè)名為 main() 的函數(shù),下面是一個(gè)條件 if 語句,它檢查 __name__ 的值,并將其與字符串 __main__ 進(jìn)行比較,當(dāng)為 True 時(shí),就會(huì)執(zhí)行 main()

          在執(zhí)行時(shí),會(huì)打印“Hello, World!”。

          當(dāng)我們處理要作為 Python 腳本執(zhí)行或要在其他模塊中導(dǎo)入的文件時(shí),這種代碼模式是非常常見的。

          讓我們?cè)敿?xì)來看一下這段代碼是如何執(zhí)行的,首先我們非常有必要了解 Python 解釋器設(shè)置 __name__ 取決于代碼的執(zhí)行方式。那么,讓我們了解一下 Python 中的執(zhí)行模式

          Python 執(zhí)行模式

          有兩種主要方法可以告訴 Python 解釋器執(zhí)行代碼:

          • 最常見的方法是將文件作為 Python 腳本執(zhí)行
          • 通過將必要的代碼從一個(gè) Python 文件導(dǎo)入到另一個(gè)文件

          無論我們選擇哪種執(zhí)行模式,Python 都會(huì)定義一個(gè)名為 __name__ 的特殊變量,其中包含一個(gè)字符串。正如我們前面所看到的,這個(gè)字符串的值取決于代碼的執(zhí)行方式。

          有時(shí)當(dāng)我們從模塊導(dǎo)入時(shí),我們想知道特定模塊的函數(shù)是否被用作導(dǎo)入,或者只是使用該模塊的原始 .py(Python 腳本)文件。

          為了解決這個(gè)問題,Python 有一個(gè)特殊的內(nèi)置變量,稱為 __name__,可以根據(jù)運(yùn)行或執(zhí)行腳本的方式,此變量會(huì)被分配字符串 __main__

          Python 中的 __main__ 是什么

          Python main 函數(shù)是任何 Python 程序的入口。當(dāng)我們運(yùn)行程序時(shí),解釋器按順序運(yùn)行代碼,如果作為模塊導(dǎo)入,則不會(huì)運(yùn)行 main 函數(shù),main 函數(shù)只有在作為 Python 程序運(yùn)行時(shí)才會(huì)執(zhí)行。

          因此如果我們直接運(yùn)行腳本,Python 會(huì)將 __main__ 分配給 __name__,即 __name__=“__main__”

          因此,如果條件語句的計(jì)算結(jié)果為 True,則意味著 .py(Python 腳本)文件正在直接運(yùn)行或執(zhí)行。

          有一點(diǎn)需要重點(diǎn)注意,如果我們直接在 Python shell 或終端上運(yùn)行某些東西,則默認(rèn)情況下,此條件語句恰好為 True。

          最終我們習(xí)慣性的把所有必要的函數(shù)定義都寫在了代碼文件的最上面,最后在文件的最后寫了這條語句,來組織代碼。

          if __name__ == "__main__" :
                  Logic Statements

          簡而言之,__name__ 變量可以幫助我們檢查文件是直接運(yùn)行還是已導(dǎo)入。

          在編寫具有 main 功能的程序時(shí),我們需要記住如下一些事情

          盡可能使用函數(shù)和類

          長期以來,我們一直在學(xué)習(xí)面向?qū)ο缶幊痰母拍罴捌鋬?yōu)勢(shì),所以絕對(duì)有必要將批量邏輯代碼放在緊湊的函數(shù)或類中。通過這種方式,我們可以控制代碼的執(zhí)行,而不是讓 Python 解釋器一導(dǎo)入模塊就執(zhí)行它。

          讓我們看看下面的一段代碼:

          def get_got():
              print("&amp;hellip;Fetching GOT Data&amp;hellip; n")
              data="Bran Stark wins the Iron Throne. n"
              print("&amp;hellip;GOT Data has been fetched&amp;hellip;n")
              return data
           
          print("n Demo: Using Functions n")
          got=get_got()
          print(got)

          在上面的示例中,我定義了一個(gè)名為 get_got 的函數(shù),它返回存儲(chǔ)在變量 data 中的字符串。然后將其存儲(chǔ)在名為 got 的變量中,最后打印該變量。

          輸出如下:

          使用 __name__ 來控制代碼的執(zhí)行

          現(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__。當(dāng)且僅當(dāng)它的計(jì)算結(jié)果為 True 時(shí),才會(huì)執(zhí)行下一組邏輯語句。由于我們直接運(yùn)行程序,我們知道條件語句將是 True。因此語句被執(zhí)行,我們得到了想要的輸出。這樣我們就可以使用 __name__ 變量來控制我們代碼的執(zhí)行。

          輸出如下:

          創(chuàng)建一個(gè)包含要運(yùn)行代碼的函數(shù) main()

          到目前為止,我們已經(jīng)了解了 Python 代碼的各種執(zhí)行方式,同時(shí)我們還知道為什么以及何時(shí)使用 main() 函數(shù),下面就來應(yīng)用它。看下面這段代碼:

          print("n Main Function Demo n")
          def demo(got):
              print("&amp;hellip;Beginning Game Of Thrones&amp;hellip;n")
              new_got = str.split(got)
              print("&amp;hellip;Game of Thrones has finished&amp;hellip;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() 的定義,它包含了我們要運(yùn)行的程序邏輯。我們還定義了一個(gè)名為 demo 的函數(shù),包含一段代碼,可以在必要時(shí)復(fù)用。此外我們還更改了條件塊,使其執(zhí)行 main()

          這樣,我們將要運(yùn)行的代碼放在 main() 中,將編程邏輯放在一個(gè)名為 demo 的函數(shù)中,并在條件塊中調(diào)用 main()

          來看一下輸出:

          ?

          可以嘗試一下,如果將此代碼作為腳本運(yùn)行或?qū)胨瑒t輸出將是相同的

          main() 調(diào)用其他函數(shù)

          當(dāng)我們編寫成熟的 Python 程序時(shí),可能有許多可以調(diào)用和使用的函數(shù)。通常情況下,一些函數(shù)應(yīng)該在程序開始執(zhí)行時(shí)立即調(diào)用。因此,從 main() 本身調(diào)用其他函數(shù)就是最佳的選擇了。

          讓我們看看下面的代碼片段:

          print("n Main Function Demo n")
          def demo(got):
              print("&amp;hellip;Beginning Game Of Thrones Demo1&amp;hellip;n")
              new_got = str.split(got)
              print("&amp;hellip;Game of Thrones has finished&amp;hellip;n")
              return new_got
          def getgot():
              print("&amp;hellip;Getting GOT Data&amp;hellip;n")
              got="Bran Stark wins the Iron Throne n"
              print("&amp;hellip;GOT Data has been returned&amp;hellip;n")
              return got
          def main():
              got= getgot()
              print(got)
              new_got = demo(got)
              print(new_got)
          if __name__ == "__main__":
              main()

          在上面的示例中,我們定義了一個(gè)名為 getgot() 的函數(shù)來獲取數(shù)據(jù),這個(gè)函數(shù)是從 main() 本身調(diào)用的。

          因此,從 main() 中調(diào)用其他函數(shù)以將整個(gè)任務(wù)從可以獨(dú)立執(zhí)行的較小子任務(wù)中組合起來總是較好的選擇。

          輸出如下:

          希望通過這篇文章,對(duì)于 Python 中 main() 函數(shù)的全部內(nèi)容以及如何使用它有一個(gè)全面而正確的理解。借助 Python 中的 main() 函數(shù),我們可以在需要時(shí)執(zhí)行大量功能,還可以控制執(zhí)行流程。



          1. Python 文本終端 GUI 框架,太酷了!

          2. 記一次Python技術(shù)變現(xiàn)的實(shí)操過程


          瀏覽 31
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩在线视频中文字幕 | 午夜无码影院 | 成人精品黄色av片 | 性色av中文字幕 学生妹妹做爱视频 | 欧美无砖砖区免费 |