日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python初学函数_Python初学者速收藏!面向Python初学者的知识-函数

發(fā)布時(shí)間:2023/12/3 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python初学函数_Python初学者速收藏!面向Python初学者的知识-函数 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是函數(shù)式編程?

函數(shù)式編程是一種編碼范例,其中我們定義要做什么而不是執(zhí)行什么動(dòng)作。這個(gè)想法最初是從數(shù)學(xué)中采用的,我們定義輸入到函數(shù)中的輸入以及我們期望從中獲得的輸出。 函數(shù)式編程很少依賴狀態(tài)管理-這意味著無(wú)論輸出多少,我們傳遞相同的參數(shù)時(shí),可以將其解釋為數(shù)據(jù)正在進(jìn)行一些轉(zhuǎn)換,最終導(dǎo)出所需要的輸出。

你在Python中的第一個(gè)功能

盡管Python并不是主要的功能語(yǔ)言,但它支持功能編程相對(duì)簡(jiǎn)單,因?yàn)镻ython中的所有內(nèi)容都是對(duì)象。這意味著可以將函數(shù)分配給變量并傳遞。 為了使事情簡(jiǎn)單,讓我們從打印Hello World的簡(jiǎn)單函數(shù)開(kāi)始:

函數(shù)的語(yǔ)法以def關(guān)鍵字開(kāi)頭,后跟函數(shù)名稱,然后使用圓括號(hào)。定義函數(shù)以冒號(hào)(:)結(jié)尾。然后在帶有四個(gè)空格縮進(jìn)的下一行中,該函數(shù)的主體開(kāi)始。縮進(jìn)是我們?cè)谑褂煤瘮?shù)時(shí)需要記住的最重要的事情。

函數(shù)和變量

全局變量和函數(shù)變量 。當(dāng)我們?cè)诤瘮?shù)內(nèi)部以及全局中擁有一個(gè)具有相同名稱的變量時(shí),當(dāng)我們嘗試訪問(wèn)該變量時(shí)(無(wú)論是訪問(wèn)全局變量還是函數(shù)作用域變量),將存在歧義。 因此,Python提供了一個(gè)函數(shù),globals(),通過(guò)它我們可以訪問(wèn)函數(shù)內(nèi)部具有相同名稱的全局變量:

將函數(shù)分配給變量 -在Python中,我們可以將函數(shù)分配給變量,然后調(diào)用它:

帶參數(shù)的函數(shù)

現(xiàn)在我們知道了如何定義一個(gè)函數(shù),是時(shí)候進(jìn)入下一個(gè)階段了,在該階段我們將輸入傳遞給函數(shù)-參數(shù)。為了快速理解它,我們將從一個(gè)數(shù)學(xué)函數(shù)開(kāi)始,在該函數(shù)中我們計(jì)算兩個(gè)數(shù)字的和:

和第一個(gè)函數(shù)一樣,它是一個(gè)簡(jiǎn)單的函數(shù),但是有兩個(gè)輸入- a和b。

調(diào)用功能 -僅通過(guò)調(diào)用函數(shù)并以函數(shù)中提到的順序傳遞參數(shù)或使用命名參數(shù),就可以通過(guò)兩種方式來(lái)調(diào)用帶有參數(shù)的函數(shù):

具有默認(rèn)值的參數(shù) -在上面的示例中,a和b是兩個(gè)強(qiáng)制性參數(shù)—這意味著開(kāi)發(fā)人員必須傳遞兩個(gè)參數(shù)來(lái)調(diào)用該函數(shù)。在Python中,我們可以使用默認(rèn)值指定參數(shù)。因此,這些參數(shù)將是可選參數(shù)。如果未傳遞任何可選參數(shù),則在調(diào)用函數(shù)時(shí),Python會(huì)考慮該參數(shù)的默認(rèn)值:

我們可以通過(guò)三種方式調(diào)用上述函數(shù),如下所示:

具有返回值的函數(shù)

我們已經(jīng)看到了如何將輸入傳遞給函數(shù)。是時(shí)候?qū)崿F(xiàn)函數(shù)的輸出了。它與Java,Kotlin等其他大多數(shù)語(yǔ)言類似-我們需要使用return關(guān)鍵字并提及值:

Python具有返回多個(gè)值作為輸出的獨(dú)特功能,這是大多數(shù)語(yǔ)言無(wú)法做到的:

x,y并且z變量將分別分配有正,負(fù)和乘法值。

用作參數(shù)和返回值

Python函數(shù)式編程可以將函數(shù)作為輸出返回或?qū)⑵渥鳛閰?shù)傳遞。

作為參數(shù) -到目前為止,我們已經(jīng)看到了如何將變量作為參數(shù)傳遞給函數(shù)。現(xiàn)在,我們將學(xué)習(xí)如何將函數(shù)作為參數(shù)傳遞給其他函數(shù)-類似于Kotlin中的高階函數(shù):

用作返回值(輸出) -與函數(shù)作為參數(shù)傳遞類似,我們也可以將其作為輸出返回-這是Python中的獨(dú)特功能:

內(nèi)部功能

我們可以在另一個(gè)函數(shù)內(nèi)編寫(xiě)一個(gè)函數(shù),這是我迄今為止在任何其他編程語(yǔ)言中都沒(méi)有見(jiàn)過(guò)的。內(nèi)部函數(shù)的作用域是外部函數(shù)-內(nèi)部函數(shù)只能從外部函數(shù)訪問(wèn): to訪問(wèn)內(nèi)部功能的正確方法

無(wú)法從包裝函數(shù)的外部訪問(wèn)內(nèi)部函數(shù):

Lambda函數(shù)

Lambda是具有單行表達(dá)式的函數(shù)的最簡(jiǎn)單形式,并且沒(méi)有名稱。在Python中,我們必須使用lambda關(guān)鍵字而不是def創(chuàng)建lambda函數(shù):

在這里,變量f是一個(gè)簡(jiǎn)單的lambda函數(shù),而a和b是的參數(shù)f。語(yǔ)法類似于普通功能。唯一的變化是關(guān)鍵字和單行表達(dá)式。 以下是一個(gè)簡(jiǎn)單的示例,演示了我們?nèi)绾问褂闷胀ê瘮?shù)和lambda:

map和過(guò)濾器功能

到目前為止,我們已經(jīng)看到了如何創(chuàng)建創(chuàng)建函數(shù)和其他策略。開(kāi)箱即用的Python包含默認(rèn)功能,例如map和filter,在一些用例中很方便。

map-map是一個(gè)需要另一個(gè)函數(shù)對(duì)象以及任意數(shù)量的iterables類似列表和字典的函數(shù)。map使用提供給它的函數(shù)對(duì)象迭代列表中的每個(gè)項(xiàng)目,并返回一個(gè)列表:

我們可以傳遞多個(gè)列表到map,如下所示:

過(guò)濾 -filter函數(shù)需要兩個(gè)參數(shù)-一個(gè)函數(shù)對(duì)象和一個(gè)可迭代的。Filter遍歷返回boolean值的函數(shù)對(duì)象中的每個(gè)項(xiàng)目。最后,filter返回一個(gè)包含從功能對(duì)象返回true的項(xiàng)目的列表。

裝飾器

裝飾器是一種設(shè)計(jì)模式-接受一個(gè)對(duì)象并為其添加新功能,而無(wú)需從調(diào)用站點(diǎn)進(jìn)行任何更改。如前所述,Python中的所有內(nèi)容都是一個(gè)對(duì)象-因此我們可以將函數(shù)用作修飾符,并可以將其應(yīng)用于其他函數(shù):

希望你能學(xué)到一些有用的東西,謝謝閱讀。

總結(jié)

以上是生活随笔為你收集整理的python初学函数_Python初学者速收藏!面向Python初学者的知识-函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。