lamda函數python
Ⅰ python的lambda函數是什麼
Python——Lambda表達式是一個匿名函數,Lambda 表達式基於數學中的lambda演算得名,直接對應於其中的 lambda 抽象,是一個匿名函數,即沒有函數名的函數。
Python由荷蘭數學和計算機科學研究學會的Guido van Rossum 於1990 年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。
Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。
Python解釋器易於擴展,可以使用C或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。Python 也可用於可定製化軟體中的擴展程序語言。Python豐富的標准庫,提供了適用於各個主要系統平台的源碼或機器碼。
(1)lamda函數python擴展閱讀:
python的發展歷程:
自從20世紀90年代初Python語言誕生至今,它已被逐漸廣泛應用於系統管理任務的處理和Web編程。
Python的創始人為荷蘭人吉多·范羅蘇姆。1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。之所以選中Python(作為該編程語言的名字,是取自英國20世紀70年代首播的電視喜劇《蒙提·派森的飛行馬戲團》。
ABC是由Guido參加設計的一種教學語言。就Guido本人看來,ABC這種語言非常優美和強大,是專門為非專業程序員設計的。但是ABC語言並沒有成功,究其原因,Guido認為是其非開放造成的。Guido決心在Python中避免這一錯誤。同時,他還想實現在ABC中閃現過但未曾實現的東西。
就這樣,Python在Guido手中誕生了。可以說,Python是從ABC發展起來,主要受到了Mola-3(另一種相當優美且強大的語言,為小型團體所設計的)的影響。並且結合了Unix shell和C的習慣。
Ⅱ Python 匿名函數lambda是什麼
在Python語言中除了def語句用來定義函數之外,還可以使用匿名函數lambda,它是Python一種生成函數對象的表達式形式。匿名函數通常是創建了可以被調用的函數,它返回了函數,而並沒有將這個函數命名。lambda有時被叫做匿名函數也就是這個原因,需要一個函數,又不想動腦筋去想名字,這就是匿名函數。
#-*-coding:utf-8-*-
#__author__="www.iplaypy.com"
#普通python函數
deffunc(a,b,c):
returna+b+c
printfunc(1,2,3)
#返回值為6
#lambda匿名函數
f=lambdaa,b,c:a+b+c
printf(1,2,3)
#返回結果為6
#注意觀察上面的Python示例代碼,f=lambdaa,b,c:a+b+c中的關鍵字lambda表示匿名函數,
#冒號:之前的a,b,c表示它們是這個函數的參數。
#匿名函數不需要return來返回值,表達式本身結果就是返回值。
Ⅲ python Lambda 形式的使用
4.7.5. Lambda 形式
出於實際需要,有幾種通常在函數式編程語言例如 Lisp 中出現的功能加入到了 Python。通過 lambda 關鍵字,可以創建短小的匿名函數。這里有一個函數返回它的兩個參數的和: lambda a, b: a+b。 Lambda 形式可以用於任何需要的函數對象。出於語法限制,它們只能有一個單獨的表達式。語義上講,它們只是普通函數定義中的一個語法技巧。類似於嵌套函數定義,lambda 形式可以從外部作用域引用變數:
>>> def make_incrementor(n):
... return lambda x: x + n
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43
上面的示例使用 lambda 表達式返回一個函數。另一個用途是將一個小函數作為參數傳遞:
>>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
>>> pairs.sort(key=lambda pair: pair[1])
>>> pairs
[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two
Ⅳ 如何使用python中的lambda表達式
lambda是函數式編程,python官方文檔:lambda [arguments]: expression
無參數函數: fun = lambda : return 1 # def fun(): return 1
含參數函數: fun = lambda x, y : return max(x, y) # def fun(x, y): return max(x, y)
Ⅳ Python 中的lambda 是什麼意思,有什麼作用,如何使用
lambda就是匿名函數,就是沒有名字的函數, 簡便實用 ,來自於於函數式編程的概念(這個不懂自己谷歌); 連java7好像都加這個...
舉個例子
一般的函數是這樣:
def f(x):
return x+1
這樣使用 print f(4)
用lambda的話,寫成這樣:
g = lambda x : x+1
這樣使用 print g(4)
Ⅵ python3 lambda表達式函數
lambda你可以理解為一個函數生成器,他返回的是一個函數,比如你代碼中的lambda x:x%n意思就是返回一個函數,這個函數的作用是算X%n的值.所以返回的return bk之後,bk成了一個函數這個函數接收一個參數X
我也剛學到這卡了,網上找的這個理解起來比較舒服一點
下面是自己總結的,運行也能成功。答案也是對的。。
_not_divisible(n)返回值是一個函數,這個函數接收一個(X)參數
_not_divisible(n)(X)
Ⅶ python lambda的用法
使用question時返回的值為bool
當為1時調用退出函數,當為0時調用一個默認的函數
lambda : None
就是一個什麼都不作的匿名函數
其實完全不需要寫成這樣的,我認為是作者希望增加代碼的復雜性而已.
可以寫成
if button:
self.quit()
Ⅷ python中使用lambda實現標准化
lambda函數一般是在函數式編程中使用的。通舉個栗子,對於這樣一個list L,求L中大於3的元素集合L = [1, 2, 3, 4, 5]對於過程式編程,通常會這么寫L3 = []for i in L:if i 3:L3.append(i)而對於函數式變成,只需要給filter函數一個判斷函數就行了def greater_than_3(x):return x 3L3 = filter(greater_than_3, L)由於這個判斷函數非常簡單,用lambda來實現就非常簡潔、易懂L3 = filter(lambda x: x 3, L)這是個很簡單的例子,可以看出lambda的好處。lambda函數更常用在map和rece兩個函數中。當然,lambda函數也不見得都好,它也可以被用得很復雜,比如這個問題的答案,可以用python這樣一句解決,這個lambda函數看起來那的確是挺辛苦的。
Ⅸ python lambda 函數
直接使用有什麼問題么?在python2.7.11下,似乎兩者都可用的:
>>>lambdaf=lambdax:(x+2)**2#lambda定義
>>>defdeff(x):return(x+2)**2#def方式的函數定義
>>>f1=lambdax:-lambdaf(x)
>>>f1(2)
-16
>>>f2=lambdax:-deff(x)
>>>f2(2)
-16
>>>
Ⅹ Python 中的「lambda」是什麼意思有什麼作用如何使用
lambda就是匿名函數,就是沒有名字的函數,來自於於函數式編程的概念; java7也是加這個,
舉個例子
函數如下:
def f(x):
return x+1
print f(4)
用lambda的話,寫成這樣:
g = lambda x : x+1
print g(4)