欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python匿名函數(shù)詳情

 更新時間:2021年11月02日 08:29:54   作者:一碗周  
這篇文章主要介紹了Python匿名函數(shù),在python中,除了一般使用def定義的函數(shù)外,還有一種使用lambda定義的匿名函數(shù),這種函數(shù)可以用在任何普通函數(shù)可以使用的地方,但在定義時被嚴(yán)格限定為單一表達(dá)式,下面來看詳細(xì)內(nèi)容吧

1、匿名函數(shù)

python中,除了一般使用def定義的函數(shù)外,還有一種使用lambda定義的匿名函數(shù)。這種函數(shù)可以用在任何普通函數(shù)可以使用的地方,但在定義時被嚴(yán)格限定為單一表達(dá)式。從語義上講,它只是普通函數(shù)的語法糖。

如果我們需要定義一個特別簡單的函數(shù),例如

def add(a, b):
    s = a + b
    return s

這就出現(xiàn)問題了,這么優(yōu)雅的Python怎么可以出現(xiàn)這種難看的代碼呢,有沒有辦法可以將其簡化為1行代碼呢?這么優(yōu)雅的Python肯定有辦法將其簡化的方法?。∵@要用到匿名函數(shù)了。

python中使用 **lambda**關(guān)鍵字來創(chuàng)建匿名函數(shù)。

語法格式:

lambda [參數(shù)1 [,參數(shù)2,..參數(shù)n]]:表達(dá)式

lambda 參數(shù)列表:return [表達(dá)式] 變量

由于lambda返回的是函數(shù)對象(構(gòu)建的是一個函數(shù)對象),所以需要定義一個變量去接收

示例代碼如下:

news_add = lambda a, b: a + b
# 上面的那個等于
def news_add_old(a, b):
    return a + b

x = news_add_old(5, 10)
y = news_add(5, 10)  # 調(diào)用匿名函數(shù)
print(x, y)  # 15 15

2、內(nèi)置函數(shù)使用

結(jié)合內(nèi)置函數(shù)使用:

list1 = [{"a": 10, "b": 20}, {"a": 20, "b": 20}, {"a": 50, "b": 20}, {"a": 6, "b": 20}, {"a": 9, "b": 20}]

# 那個列表中的a最大
max_value = max(list1, key=lambda x: x["a"])
print(max_value)

# 如果用普通的函數(shù)寫就多了幾行
def func(di):
    return di["a"]
max_value = max(list1, key=func)  # 這里不能加()不然就表示調(diào)用了
print(max_value)

將匿名函數(shù)當(dāng)做參數(shù):

def func(a, b, fun):
    s = fun(a, b)
    return s

z = func(5, 10, lambda a, b: a + b)
print(z)  # 15

lambda可以省去定義函數(shù)的過程,讓代碼更加精簡,而且不用考慮命名問題,但是在PEP8規(guī)范里面是不推薦用lambda這種方式的。

到此這篇關(guān)于Python匿名函數(shù)詳情的文章就介紹到這了,更多相關(guān)Python匿名函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解如何在Django項(xiàng)目中使用Jinja2模板引擎

    詳解如何在Django項(xiàng)目中使用Jinja2模板引擎

    Django是一個強(qiáng)大的Python Web框架,它提供了一個內(nèi)置的模板引擎,然而,在某些場景中,開發(fā)者可能傾向于使用更快、更靈活的模板引擎,比如Jinja2,在本文中,我們將詳細(xì)探討如何在Django項(xiàng)目中使用Jinja2模板引擎,并提供豐富的示例
    2023-11-11
  • Python自動化測試工具Splinter簡介和使用實(shí)例

    Python自動化測試工具Splinter簡介和使用實(shí)例

    這篇文章主要介紹了Python自動化測試工具Splinter簡介和使用實(shí)例,Splinter可以非常棒的模擬瀏覽器的行為,Splinter提供了豐富的API,可以獲取頁面的信息判斷當(dāng)前的行為所產(chǎn)生的結(jié)果
    2014-05-05
  • Python中Proxypool庫的安裝與配置

    Python中Proxypool庫的安裝與配置

    今天小編就為大家分享一篇關(guān)于Python中Proxypool庫的安裝與配置,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • python同時遍歷數(shù)組的索引和值的實(shí)例

    python同時遍歷數(shù)組的索引和值的實(shí)例

    今天小編就為大家分享一篇python同時遍歷數(shù)組的索引和值的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 詳解python中executemany和序列的使用方法

    詳解python中executemany和序列的使用方法

    這篇文章主要介紹了詳解python中executemany和序列的使用方法的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • Python 高級教程之線程進(jìn)程和協(xié)程的代碼解析

    Python 高級教程之線程進(jìn)程和協(xié)程的代碼解析

    這篇文章主要介紹了Python 高級教程之線程進(jìn)程和協(xié)程的代碼解析,包括使用線程模塊的簡單示例,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Python循環(huán)一行的寫法分享

    Python循環(huán)一行的寫法分享

    這篇文章主要介紹了Python循環(huán)一行的寫法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Python之維度dim的定義及其理解使用方式

    Python之維度dim的定義及其理解使用方式

    這篇文章主要介紹了Python之維度dim的定義及其理解使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • DjangoWeb使用Datatable進(jìn)行后端分頁的實(shí)現(xiàn)

    DjangoWeb使用Datatable進(jìn)行后端分頁的實(shí)現(xiàn)

    這篇文章主要介紹了DjangoWeb使用Datatable進(jìn)行后端分頁的實(shí)現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 基于python tkinter的點(diǎn)名小程序功能的實(shí)例代碼

    基于python tkinter的點(diǎn)名小程序功能的實(shí)例代碼

    這篇文章主要介紹了基于python tkinter的點(diǎn)名小程序,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08

最新評論