python匿名函式

2021-10-08 13:19:05 字數 866 閱讀 2958

認識匿名函式 :

匿名函式是指在python中使用lambda來建立函式,稱之為匿名函式

建立函式不在使用def建立,而是使用lambda關鍵字建立乙個形式主義的函式

lambda 引數1

,引數2

,引數3..

.: 單行表示式 或者 函式呼叫

可以通過匿名函式來實現標準函式的功能

可以作為乙個函式的引數進行傳遞,將乙個函式當成另乙個函式的引數傳遞進另乙個函式,這個做法在c#或其他技術中叫做委託

(全域性變數)乙個函式只要被宣告了,肯定在記憶體中存放好了,程式執行函式即被建立,記憶體被分配。直到整個檔案執行結束才會被處理

使用匿名函式傳遞只有當這個函式被傳遞的時候開始建立,記憶體分配,這個函式執行完畢,匿名函式就會像區域性變數一樣只在這個函式內部存在,函式執行完畢,匿名函式也被釋放

匿名函式本質是乙個表示式,不是**塊

匿名函式只能寫一行**

使用關鍵字lambda

如果有返回值資料則不需要書寫return關鍵字

lambda的函式要比def函式簡單的多

lambda中不能使用if語句、while語句、for迴圈,但是可以使用單行的表示式或函式呼叫

lambda的返回結果不需要使用return

lambda只能寫一行,lambda的主體是乙個表示式,而不是乙個**塊。僅僅能在lambda表示式中封裝有限的邏輯進去

函式本質是乙個**塊集合,而函式名的作用是針對**塊集合的乙個引用

函式名可以理解為乙個變數,這個變數裡面引用的是函式主體所有**

一般在實際開發中有兩種使用場景

定義乙個簡單的單行函式

乙個函式要作為另乙個函式的引數進行傳遞(重點)

python匿名函式

例如 a 100 b a 這樣100只會有乙份,a和b只是指向了同乙個位置,改變a的值b也會跟著改變 當我們用id 變數 檢視兩變數的位址是相同的 可變型別 列表,字典 不可變型別 除了可變型別剩下的都是不可變型別 不可變型別舉例 a world 可以輸出a 0 整個字串也可以修改,但是要修改a 0...

python 匿名函式

在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x x2時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 map lambda x x x,1,2,3,4,5,6,7,8,9 1,4,9,16,25,36,49,64,81 通過對比可以看出,匿名函式lambda ...

python 匿名函式

1.匿名函式定義規則 lambda 形參 返回值 def fun args,kwargs return args,kwargs print lambda args,kwargs args,kwargs def add x,y return x y from functools import redu...