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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

lambda函数 RUNOOB python练习题49

發布時間:2023/11/30 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lambda函数 RUNOOB python练习题49 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用來練手的python練習題,原題鏈接python練習實例49

該練習題主要是關于lambda函數的使用方法,本文就python中的lambda函數做出一點總結。

1. lambda函數的定義與調用

在python中,我們都知道使用def關鍵詞來定義一個函數, 例如一個最簡單的,返回值是他的參數的函數identity,如下所示:

def identity(x):return x

使用lambda可以只用一行就實現identity函數的定義:

ident = lambda x : x

調用如下:

print(ident(2))

輸出結果如下:

lambda函數的定義非常簡單,以上述函數為例,ident是函數的名字,lambda關鍵字后跟該lambda函數的參數,冒號后是該函數的返回值。調用lambda函數和調用普通函數一樣,函數名 + 括號內參數。

此外,lambda函數也有自己的獨有性質,即lambda函數可以使用立即調用的函數表達形式(IIFE)。我們可以在定義lambda函數的同時進行調用,此時lambda函數也不再需要一個用于調用的函數名了:

print((lambda x : x+1)(2))

輸出結果如下:

2. lambda函數在高階函數中的應用

lambda函數因為其簡單的定義方式,在很多高階函數的定義中會被使用。tips: 高階函數即,函數存在至少一個參數是函數且該函數的返回值是一個函數。

舉例如下:

high_ord_func = lambda x, func: x + func(x)print(high_ord_func(2, lambda x: x * x))

輸出結果如下:

這個高階函數還可以寫成:

def high_ord_func(x,func):return x + func(x)a = high_ord_func(2,lambda x: x+2) print(a)

輸出結果同樣也是6。

高階函數可以類比C++中的模板函數。當我們定義函數high_ord_func=lambdax,func:x+func(x)high\_ord\_func = lambda x, func: x + func(x)high_ord_func=lambdax,func:x+func(x) 時,可以理解為我們定義了一類函數模板,這類模板函數都有兩個參數,變量x以及一個函數func(x),返回值為x+func(x)。當我們要使用函數時,需要將這些函數模板實例化,同樣是給未初始化的參數賦值。

3. lambda函數使用的語法注意點

lambda函數作為一種單行的python函數定義方式,相比傳統的def定義函數,更加簡潔優雅,但同時lambda函數也有自身的局限性。
首先當我們使用def定義普通函數時,可以對參數類型進行注釋。但是當使用lambda定義時,就不再能使用類型注釋了。

def plusplus(a: int, b: int)->int:return a+b

而且使用lambda定義函數時,不能加入例如return, assert, pass, raise等聲明,否則會導致syntax error。

\newline
\newline
\newline
\newline
參考文章: How to Use Python Lambda Functions

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的lambda函数 RUNOOB python练习题49的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。