我在偷偷學Python的第十八天(匿名函式)
匿名函式
python 使用 lambda 來建立匿名函式。
- lambda只是一個表示式,函式體比def簡單很多。
- lambda的主體是一個表示式,而不是一個程式碼塊。僅僅能在
- lambda表示式中封裝有限的邏輯進去。
- lambda函式擁有自己的名稱空間,且不能訪問自有引數列表之外或全域性名稱空間裡的引數。
- 雖然lambda函式看起來只能寫一行,卻不等同於C或C++的行內函數,後者的目的是呼叫小函式時不佔用棧記憶體從而增加執行效率。
語法
lambda函式的語法只包含一個語句,如下:
lambda [arg1 [,arg2,…argn]]:expression
比方說,我要寫一個函式用於兩個數相乘
- 如果用def方式來寫:
>>> def f(x,y):
... return x*y
>>> f(2,3)
6
- 用匿名函式來寫:
>>> func = lambda x,y:x*y
可以看到,上面我們把匿名函式物件賦給一個變數,只要直接呼叫該物件就可以使用匿名函式:
>>> func(2,3)
6
你也可以給匿名函式傳入一個引數:
>>> func_2 = lambda x:x^2
>>> func_2(3)
9
以上對匿名函式作了解釋,也舉了一些例子用以說明。那麼,匿名函式的優點是什麼呢?
- 不用取名稱,因為給函式取名是比較頭疼的一件事,特別是函式比較多的時候
- 可以直接在使用的地方定義,如果需要修改,直接找到修改即可,方便以後程式碼的維護工作
- 語法結構簡單,不用使用def 函式名(引數名):這種方式定義,直接使用lambda 引數:返回值 定義即可
作者:Eamon
時間:2020/12/7
相關文章
- (011)我們一起學Python;匿名函式,遞迴函式Python函式遞迴
- 匿名函式(Python)函式Python
- 1.5.7 Python匿名函式Python函式
- python匿名函式的好處Python函式
- Python 返回函式+匿名函式Python函式
- Python函式與lambda 表示式(匿名函式)Python函式
- 深入理解 函式、匿名函式、自執行匿名函式函式
- Python技法3:匿名函式、回撥函式和高階函式Python函式
- 閉包函式(匿名函式)的理解函式
- 在Js中匿名函式的幾種寫法JS函式
- JavaScript 匿名函式JavaScript函式
- Golang匿名函式Golang函式
- Ruby 匿名函式函式
- PHP匿名函式PHP函式
- Go 匿名函式Go函式
- python函式程式設計 返回函式 匿名函式 裝飾器 偏函式Python函式程式設計
- js中的匿名函式JS函式
- 【碼上開學】Kotlin 的高階函式、匿名函式和 Lambda 表示式Kotlin函式
- 好程式設計師Python培訓分享Python的遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- PHP 匿名函式初探PHP函式
- GO 的匿名函式使用注意Go函式
- 匿名函式有加速的效果??函式
- 第十八天
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- Python函數語言程式設計-高階函式、匿名函式、裝飾器、偏函式Python函數程式設計函式
- 兄弟連go教程(14)函式 - 匿名函式Go函式
- 裝飾器,匿名函式函式
- PHP 核心特性 - 匿名函式PHP函式
- 好程式設計師Python教程系列遞迴函式與匿名函式呼叫程式設計師Python遞迴函式
- 從零開始學Python:第十課-函式和字串的應用Python函式字串
- 初識Lambda表示式(匿名函式)函式
- python基礎(補充):lambda匿名函式,用了的,都說好!Python函式
- Java8學習系列之匿名函式LambdaJava函式
- 【Go語言學習】匿名函式與閉包Go函式
- python極簡教程05:生成器和匿名函式Python函式
- 從settTimeout到匿名函式、箭頭函式之() => {}函式
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- 塊級作用域替代“匿名立即執行函式表示式(匿名IIFE)”函式