成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

要了解有關 Python main 函數(shù)的更多信息,我們將從如下幾點逐步學習:

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

Let’s get started

什么是 Python 函數(shù)

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

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

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

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

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

在 Python 中,不必每次編寫程序時都定義 main 函數(shù),這是因為除非定義了特定函數(shù),否則 Python 解釋器都會從文件頂部執(zhí)行。因此,為 Python 程序的執(zhí)行定義一個起點有助于更好地理解程序的工作原理。

一個基本的 Python main()

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

def main():
print("Hello, World!")


if __name__== "__main__" :
main()

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

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

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

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

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

Python 執(zhí)行模式

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

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

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

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

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

Python 中的 __main__ 是什么

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

因此如果我們直接運行腳本,Python 會將 __main__ 分配給 __name__,即 __name__=“__main__”。

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

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

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

if __name__ == "__main__" :
Logic Statements

簡而言之,__name__ 變量可以幫助我們檢查文件是直接運行還是已導入。

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

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

長期以來,我們一直在學習面向對象編程的概念及其優(yōu)勢,所以絕對有必要將批量邏輯代碼放在緊湊的函數(shù)或類中。通過這種方式,我們可以控制代碼的執(zhí)行,而不是讓 Python 解釋器一導入模塊就執(zhí)行它。

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

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ù),它返回存儲在變量 data 中的字符串。然后將其存儲在名為 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__。當且僅當它的計算結果為 True 時,才會執(zhí)行下一組邏輯語句。由于我們直接運行程序,我們知道條件語句將是 True。因此語句被執(zhí)行,我們得到了想要的輸出。這樣我們就可以使用 __name__ 變量來控制我們代碼的執(zhí)行。

輸出如下:

圖片

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

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

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()。

來看一下輸出:

圖片

可以嘗試一下,如果將此代碼作為腳本運行或導入它,則輸出將是相同的。

從 main() 調用其他函數(shù)

當我們編寫成熟的 Python 程序時,可能有許多可以調用和使用的函數(shù)。通常情況下,一些函數(shù)應該在程序開始執(zhí)行時立即調用。因此,從 main() 本身調用其他函數(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() 本身調用的。

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

輸出如下:

圖片

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

責任編輯:武曉燕 來源: 蘿卜大雜燴
相關推薦

2016-07-22 17:55:07

云計算

2018-09-02 15:43:56

Python代碼編程語言

2024-03-07 07:58:26

Web開發(fā)響應媒體查詢工具

2023-01-02 10:08:42

StampedLocAQS框架

2020-12-14 07:51:16

JS 技巧虛值

2022-07-17 06:53:24

微服務架構

2022-05-05 12:02:45

SCSS函數(shù)開發(fā)

2021-10-22 09:41:26

橋接模式設計

2019-12-24 09:49:02

微軟英語瀏覽器

2010-03-12 09:15:28

Firefox新功能

2022-04-15 07:51:12

off-heap堆外內(nèi)存JVM

2018-09-03 16:05:03

編程語言Python代碼技巧

2021-02-03 08:24:32

JavaScript技巧經(jīng)驗

2020-10-28 08:06:09

Vue3框架數(shù)據(jù)

2014-12-01 09:41:25

2015-07-13 08:49:54

2021-03-18 14:02:56

iOS蘋果細節(jié)

2018-07-10 11:33:58

計算器iPhone刪除

2021-10-19 14:49:49

CSS前端

2019-11-28 15:36:43

Redis數(shù)據(jù)庫高延遲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产综合久久久动漫日韩 | 国产欧美日韩 | 国产高清毛片 | 中文字幕欧美日韩 | 精品久久久久一区二区国产 | 日韩图区| 国产精品一区二区电影 | 久久首页 | 另类专区成人 | 色综合美女 | 亚洲高清在线观看 | 日韩av成人 | 国产欧美视频一区 | 成人h视频在线观看 | 日韩在线一区二区三区 | 久国产视频 | 欧洲妇女成人淫片aaa视频 | 国产成人精品a视频一区www | 国产精品久久性 | 黄网站色大毛片 | 我爱操 | 久久久久久久91 | 久久久久一区二区 | 综合色久| 欧美视频三区 | 美女黄色在线观看 | 国产婷婷 | 91精品国产乱码久久久 | 久久精品黄色 | 最新中文字幕在线 | 久草新在线 | 亚洲精品国产第一综合99久久 | 一区日韩 | 国产午夜精品一区二区三区嫩草 | 中文字幕在线三区 | 一级片免费网站 | 午夜免费视频 | 毛片免费视频 | 国产视频黄色 | 免费欧美视频 | 中文在线а√在线8 |