網(wǎng)站首頁 編程語言 正文
lambda函數(shù)的定義???
lambda函數(shù)是Python中常用的內(nèi)置函數(shù),又稱為匿名函數(shù)。和普通函數(shù)相比,它只有函數(shù)體,省略了def和return,使得結(jié)構(gòu)看起來更精簡。其基本調(diào)用語法如下:
lambda [var1 [,var2,…varn]]:expression
[var1 [,var2,…varn]]:形式參數(shù),可以理解為入?yún)ⅲ┍磉_式使用。
expression:函數(shù)表達式,其結(jié)果為lambda函數(shù)的返回值。
Lambda函數(shù)在Python中
lambda 函數(shù)是一個匿名函數(shù)(即,沒有名稱定義),它可以接受任意數(shù)量的參數(shù),但與普通函數(shù)不同,它只計算并返回一個表達式
Python 中的 lambda 函數(shù)使用以下語法表達:
lambda 參數(shù):表達式
lambda 函數(shù)包括三個元素:
- 關(guān)鍵字 lambda:與普通函數(shù)中 def 類似
- 參數(shù):支持傳遞位置和關(guān)鍵字參數(shù),與普通函數(shù)一樣
- 正文:處理定參數(shù)的表達式
需要注意的是,普通函數(shù)不同,這里不需要用括號將 lambda 函數(shù)的參數(shù)括起來,如果 lambda 函數(shù)有兩個或更多參數(shù),我們用逗號列出它們
我們使用 lambda 函數(shù)只計算一個短表達式(理想情況下,單行)并且只計算一次,這意味著我們以后不會再復用這個函數(shù)。通常來說我們會將 lambda 函數(shù)作為參數(shù)傳遞給高階函數(shù)(接受其他函數(shù)作為參數(shù)的函數(shù)),例如 Python 內(nèi)置函數(shù),如 filter()、map() 或 reduce()等
匿名函數(shù),顧名思義,沒有名字的函數(shù)
我來看一下語法:
lambda [list]: 表達式
這里介紹一下參數(shù)
"""
[list]:表示參數(shù)列表,?
注意:參數(shù)與表達式之間需要冒號來區(qū)分?
表達式 :表達式方法非常多,表達形式也非常多?
返回值 :為表達式的結(jié)果value
"""
例如,上方的代碼這里
lambda x:x % n > 0
x 為需要傳入的參數(shù),而 x % n > 0 為表達式,之間需要用冒號進行引用,計算的表達式結(jié)果為返回值這里舉例說明:如果設(shè)計一個求 2 個數(shù)之和的函數(shù),使用普通函數(shù)的方式,定義如下:
def add(x, y):
return x + y
print(add(3, 4))
我們看到只有一行表達式,直接運算結(jié)果返回值,那這時我們?nèi)绻褂媚涿瘮?shù)一行代碼即可完成
add = lambda x, y: x + y
print(add)
這里我們將直接寫出我們的結(jié)果,我們可以看到對于比較單行返回的函數(shù),使用 lambda 表達式可以省去定義函數(shù)的過程,讓代碼更加簡潔,針對不需要多次復用的函數(shù),使用 lambda 表達式可以在用完之后立即釋放,提高程序 執(zhí)行的性能。而且還能配合其他的一些高階函數(shù)配合使用
# -*- coding: utf-8 -*-
fun1 = lambda a, b: x + y
x = int(input('x='))
y = int(input('y='))
print('x+y=', fun1(x, y))
def add(a, b):
print('add=', a + b)
add(x, y)
fun = lambda a, b: a ** 2
f = fun(2, 4)
print(type(fun))
print(f)
原文鏈接:https://aweia.blog.csdn.net/article/details/125435739
相關(guān)推薦
- 2022-11-07 React?全面解析excel文件_React
- 2022-09-16 go?goroutine實現(xiàn)素數(shù)統(tǒng)計的示例_Golang
- 2023-02-23 Python實現(xiàn)隨機生成一個漢字的方法分享_python
- 2022-04-05 用css改變input光標的3種方法
- 2022-09-29 react嵌套路由實現(xiàn)TabBar的實現(xiàn)_React
- 2022-04-06 詳解pandas中缺失數(shù)據(jù)處理的函數(shù)_python
- 2023-05-20 linux?shell輸出換行簡單實例_linux shell
- 2022-06-04 為Centos安裝指定版本的Docker_docker
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支