1. 程式人生 > >Python lambda函式

Python lambda函式

來說說python的lambda函式吧

lambda是python中用來構建匿名函式的關鍵字,啥叫匿名函式捏,所謂匿名函式就是當你需要使用一個函式完成操作,但懶得給這個函式起名字,恰巧這個函式也不是那麼常用,估計以後也不怎麼會用到,就用這麼一次,那麼lambda函式就可以閃亮登場了

先看一個栗子,實現兩個數字相加

__author__ = 'MrChen'

#函式定義形式
def myAdd(x , y):
    '兩個數字相加'
    return x+y
print(myAdd(2 , 3.4))

#lambda使用形式-1
myfunc = lambda x , y : x + y
print(myfunc(2 , 3.4))

#都說了不想起名字了!!!為毛上面還要我定義一個臨時變數
#好,下面解放那些一提到起函式名就頭疼的人
#lambda使用形式-2
print( (lambda x,y:x+y)(2 , 3.4) )


好嘞,雖然最後一個函式的可讀性不咋地,但卻實實在在的體現出了lambda函式的價值,

1,  lambda函式可以免去定義函式的繁瑣,使程式碼更加精簡

2,  不用費盡心機絞盡腦汁的想函式名(如果這個函式比較常用,那麼還是需要定義函式的)

3,  使用lambda函式有時候使程式碼更容易理解

下面看看lambda函式到底怎麼用吧

在lambda函式中,lambda後面,冒號前面的部分是函式的引數,可以有多個,用逗號隔開;冒號後面是返回值(貌似lambda不支援多行操作,冒號後面直接就是返回值,是個單行操作,如果函式需要多行的話,還是用def吧,個人理解,勿噴)

例如:

lambda x : x**2

x是引數,x**2是返回值,表示實現了一個數字的平方

如果需要直接計算某個值的結果,可以這樣搞:

(lambda x : x**2)(3)

第一個括號裡面是lambda函式體,第二個括號就是lambda函式的引數了,注意此時的lambda函式和引數一定都要用括號括起來哦

相關推薦

Python——lambda函式

Lambda 函式又稱匿名函式,匿名函式就是沒有名字的函式,函式沒有名字也行?當然可以啦。有些函式如果只是臨時一用,而且它的業務邏輯也很簡單時,就沒必要非給它取個名字不可。 好比電影裡面的群眾演員,往往他們的戲份很少,最多是襯托主演,跑跑龍套,他們需要名字嗎?不需要,因為他們僅僅只是臨時出鏡,下次可能就用不

Python lambda函式的用法

匿名函式lambda的用法 Python中,lambda函式也叫匿名函式,及即沒有具體名稱的函式,它允許快速定義單行函式,類似於C語言的巨集,可以用在任何需要函式的地方。這區別於def定義的函式。 lambda與def的區別: 1)def建立的方法是有名稱

Python lambda函式

來說說python的lambda函式吧 lambda是python中用來構建匿名函式的關鍵字,啥叫匿名函式捏,所謂匿名函式就是當你需要使用一個函式完成操作,但懶得給這個函式起名字,恰巧這個函式也不是那麼常用,估計以後也不怎麼會用到,就用這麼一次,那麼lambda函式就可以

Python lambda匿名函式,遞迴應用

import os '''Lambda函式能接收任何數量的引數但只能返回一個表示式的值匿名函式不能直接呼叫print,因為lambda需要一個表示式'''sum = lambda x, y: x + yprint('x+y=', sum(2, 6)) '''匿名函式應用''' def test_nm(a

python:匿名函式lambda的用法

lambda與map,filter,reduce用法類似,使函式更為直觀,更容易理解。 lambda語句中,冒號前是引數,可以有多個,用逗號隔開,冒號右邊的返回值。 lambda語句構建的其實是一個函式物件。 a = lambda x,y:x**2+y**2 print(a(2,3))

python--- map函式lambda函式

1...lambda 函式相當於一個匿名函式,顧名思義就是不用取名字的函式,相當於現實中的匿名信。 舉例: lambda x,y: x+y m = lambda x,y,z: (x-y)*z print (m(3,1,2))  執行結果:4 2...map函式&nb

python高階函式,map,filter,reduce,ord,以及lambda表示式

為什麼我突然扯出這麼幾個函式,是因為我今天在看流暢的python這本書的時候,裡面有一部分內容看的有點懵逼。 >>> symbols = '$¢£¥€¤' >>> beyond_ascii = [ord(s) for s in symbols if ord(s)

Python基本語法之lambda函式

    lambda函式定義        lambda函式也叫匿名函式,和普通的函式相比,就是省去了函式名稱而已,使用lambda可以省去定義函式的過程,讓程式碼更加精簡,lambda語句中,冒號前是引數,可以有多個,用逗

python函式畫圖以及匿名函式lambda使用.md

python隱函式畫圖以及匿名函式lambda使用 一.匿名函式lambda使用 因為一會畫隱函式畫圖想用一下lambda匿名函式,所以就在這裡學習一下其用法,本質上來講lambda就是把函式換了中說法,其應用場景可以用在一些簡單函式的定義上,比如你想定義一個比較大小的函式,而該

Python進階07 lambda函式

# 用lambda函式的語法,定義函式。lambda例子如下: func = lambda x, y: x + y print(func(4, 5)) # 函式作為引數傳遞 def test(f, a, b): print(func(a, b)) test(func, 1,

Python匿名函式(lambda)

result = lambda [arg1 [, arg2, .....]]:expression result:用於呼叫lambda表示式 [arg1 [, arg2, …]]:可選引數,用於傳遞

python--匿名函式lambda

匿名函式:為了解決功能簡單的函式而設計的一句話函式 def square(n): return n*n #等價於 square = lambda n: n*n print(square(5)) 格式說明 函式名 = lambda 引數 : 返回值 ''' 引數可以有多個,用

Python 拓展之特殊函式lambda 函式,map 函式,filter 函式,reduce 函式

寫在之前 今天給大家介紹幾個比較特殊的函式,他們具有函數語言程式設計的特點,有人將它們視為 Python 可進行 “函數語言程式設計” 的見證,至於什麼是函數語言程式設計,不是本篇文章的重點,感興趣的可以去了解一下。老讀者可能都知道,我非常推崇 Python 的簡潔優雅,而今天的這幾個函式,有了它們,最大的

python學習--使用 lambda 函式

4.7.1. 真實世界中的 lambda 函式 apihelper.py 中的 lambda 函式: processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s) 注意這裡使用了 and-o

Python匿名函式lambda函式

匿名函式lambda Python使用lambda關鍵字創造匿名函式。所謂匿名,意即不再使用def語句這樣標準的形式定義一個函式。這種語句的目的是由於效能的原因,在呼叫時繞過函式的棧分配。其語法是: lambda [arg1[, arg2, ... ar

lambda函式詳細介紹(Python

定義 在Python中,除了使用def關鍵字宣告普通函式外,還提供了一種使用表示式生成函式物件的形式。由於它與LISP語言中的一個工具很相似,所以稱為lambda。 lambda函式也叫匿名函式,即沒有具體名稱的函式,它允許快速定義單行函式,可以用在任何需要

Python 特殊函式解析(lambda 函式,map 函式,filter 函式,reduce 函式

寫在之前 今天給大家介紹幾個比較特殊的函式,他們具有函數語言程式設計的特點,有人將它們視為 Python 可進行 「函數語言程式設計」 的見證,至於什麼是函數語言程式設計,不是本篇文章的重點,感興趣的可以去了解一下。老讀者可能都知道,我非常推崇 Python 的簡潔優雅,而今天的這幾個函式,有了它們

Python lambda 匿名函式 (二十二)

lambda是一個表示式,會建立並返回一個函式物件;def是一個語句 lambda表示式中不能包含命令、語句(if,for,print等),函式體只能為表示式,可以理解成lambda表示式的內容只能為

python中列表、字典和map,lambda函式的操作淺析新

一:一些簡單的操作列表切片a=[1,2,3,4,5,6,7,8] a[1:] [2, 3, 4, 5, 6, 7, 8] a[::-1] [8, 7, 6, 5, 4, 3, 2, 1] a[2:4] [3, 4] a[::-2] [8, 6, 4, 2] a[-3:-1]

python匿名函式lambda函式

lambda函式也叫做匿名函式,即不需要用def單獨定義,沒有函式名。一般為了在表示式中書寫簡便,比如表示式的一部分需要對某個引數做簡單的運算操作,由於運算操作十分簡單覺得沒必要單獨用def定義一個函式來實現它,就可以用lambda函式直接書寫 lambda函