1. 程式人生 > >Python lambda函式的用法

Python lambda函式的用法

匿名函式lambda的用法

Python中,lambda函式也叫匿名函式,及即沒有具體名稱的函式,它允許快速定義單行函式,類似於C語言的巨集,可以用在任何需要函式的地方。這區別於def定義的函式。
lambda與def的區別:
1)def建立的方法是有名稱的,而lambda沒有。
2)lambda會返回一個函式物件,但這個物件不會賦給一個識別符號,而def則會把函式物件賦值給一個變數(函式名)。
3)lambda只是一個表示式,而def則是一個語句。
4)lambda表示式” : “後面,只能有一個表示式,def則可以有多個。
5)像if或for或print等語句不能用於lambda中,def可以。
6)lambda一般用來定義簡單的函式,而def可以定義複雜的函式。
6)lambda函式不能共享給別的程式呼叫,def可以。
lambda語法格式:
lambda 變數 : 要執行的語句

lambda [arg1 [, agr2,.....argn]] : expression

如:

1、單個引數的:
>>> g = lambda x : x ** 2
>>> print g(3)
9
2、多個引數的:
>>> g = lambda x, y, z : (x + y) ** z
>>> print g(1,2,2)
9

lambda表示式會返回一個函式物件,如果沒有變數接受這個返回值的話,它很快就會被丟棄。也正是由於lambda只是一個表示式,所以它可以直接作為list和dict的成員。如:

>>> 
list_a = [lambda a: a**3, lambda b: b**3] >>> list_a[0] <function <lambda> at 0x0259B8B0> >>> g = list_a[0] >>> g(2) 8

這裡就沒法用def語句代替了,語句是不能巢狀在裡面的。lambda表示式中,冒號前面是引數,可以有多個,用逗號分隔,冒號右邊是返回值。
lambda具體用不用,視情況而定吧,有時候使用lambda可以簡化程式碼。

相關推薦

Python lambda函式用法

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

Python lambda用法

有時 for lis c語言 多個 簡單 pri ESS span 轉自:另一個自己 匿名函數lambda的用法 Python中,lambda函數也叫匿名函數,及即沒有具體名稱的函數,它允許快速定義單行函數,類似於C語言的宏,可以用在任何需要函數的地方。這區別於def定義

Python——lambda函式

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

Python 類似函式用法異同整理

1:.read()    /    .readline()    /    .readlines() 都可以接受一個變數以限制每次讀取的資料量,但通常不使用變

python open()函式用法

轉載自:http://www.runoob.com/python/python-func-open.html 1.基本含義:python open() 函式用於開啟一個檔案,建立一個 file 物件,相關的方法才可以呼叫它進行讀寫。 2.函式語法:open(name[, mode[, buf

Python 匿名函式用法和return語句

匿名函式用法1.什麼是匿名函式    函式定義過程中,沒有給定名稱函式,python中用lambda表示式建立匿名函式    lambda只是一個表示式,函式體比def簡單    lambda主題是一個表示式,又有自己的

python round函式用法

round()方法返回 x 的小數點四捨五入到n個數字。 語法 以下是round()方法的語法: round( x [, n] ) 引數 x –這是一個數值表示式 n –這也是一個數值表示式 返回值 該方法返回 x 的小數點四捨五入到n個數字

Python lambda函式

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

Python函式用法全方位解析

Python的functools模組中有一種函式叫“偏函式”,自從接觸它以來,發現確實是一個很有用且簡單的函式,相信你看完這篇文章,你也有相見恨晚的感覺。 我們都知道,函式入參可以設定預設值來簡化函式呼叫,而偏函式的作用就是將入參進行預設填充,降低函式使用的難度。 如int()函式,可以將字元型轉換為整型,且

Python排序函式用法

Python排序函式完美體現了Python語言的簡潔性,對於List物件,我們可以直接呼叫sort()函式(這裡稱為"方法"更合適)來進行排序,而對於其他可迭代物件(如set,dict),我們可以使用更靈活的sorted()函式。 一.List的sort()函式 Python原始碼builtins.py檔案對

python:匿名函式lambda用法

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

Python教程補充內容(函式中接收元組、列表和lambda用法)——簡明python教程學習筆記

本文大量內容來源於沈老師的簡明python教程,其中夾雜部分個人的理解如有偏頗之處還望海涵。 一. 在函式中接收元組和列表 \quad當要使函式接收元組或字典形式的引數的時候,有一種特殊的方法,它分別使用*和**字首。 這種方法在函式需要獲取可變數量的引數的

python lambda表達式簡單用法

result 簡單的 函數 一個表 if else alex 內嵌 語句 代碼塊 條件運算時,對於簡單的 if else 語句,可以使用三元運算來表示,即: # 普通條件語句 if 1 == 1: name = ‘wupeiqi‘ else: name =

Python lambda匿名函式,遞迴應用

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

python sorted函式高階用法

1、入門 a = [20, 5, 6, 7, 8, 1] res1 = sorted(a) # 正序排序 res2 = sorted(a, reverse=True) # 逆序排序 res3 = sorted(a, key=lambda item: -item) # 逆序排序 pr

pythonlambda用法

python中lambda的用法2016年03月25日 11:25:18 有腹肌的小蝌蚪_ 閱讀數:41985 一、lambda函式也叫匿名函式,即,函式沒有具體的名稱。先來看一個最簡單例子: def f(x):return x**2print f(4) Python中使用lambda的話,寫成這樣

python中的print輸出函式用法總結

【時間】2018.10.12 【題目】python中的print輸出函式用法總結   一、直接輸出 無論什麼型別,數值,布林,列表,字典...都可以直接輸出,或者先賦值給變數,再輸出。     二、格式化輸出 下面是《Python基

Python中split()函式用法和例項

一、描述 split()通過指定分隔符對字串進行切片,如果引數num 有指定值,則僅分隔 num 個子字串 函式形式:str.split(str="", num=string.count(str)) 引數: str -- 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表

Python的Request函式用法

目錄 傳送請求 POST 請求: 其他請求: 傳遞 URL 引數 響應內容 二進位制響應內容 JSON 響應內容 原始響應內容 定製請求頭 更加複雜的 POST 請求 POST一個多部分編碼(Multipart-Encoded)的檔案 響應狀態碼

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