婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python基礎之匿名函數詳解

python基礎之匿名函數詳解

熱門標簽:房產電銷外呼系統 地圖制圖標注位置改變是移位嗎 南京銷售外呼系統軟件 地圖標注微信發送位置不顯示 蓋州市地圖標注 上海機器人外呼系統哪家好 315電話機器人廣告 地圖標注的意義點 浙江電銷卡外呼系統好用嗎

1.匿名函數介紹

匿名函數指一類無須定義標識符的函數或子程序。Python用lambda語法定義匿名函數,只需用表達式而無需申明。

在python中,不通過def來聲明函數名字,而是通過 lambda 關鍵字來定義的函數稱為匿名函數。

lambda函數能接收任何數量(可以是0個)的參數,但只能返回一個表達式的值,lambda函數是一個函數對象,直接賦值給一個變量,這個變量就成了一個函數對象。

2.語法

lambda 參數:表達式

3.使用場景

(1)需要將一個函數對象作為參數來傳遞時,可以直接定義一個lambda函數(作為函數的參數或是返回值)

(2)要處理的業務符合 lambda 函數的情況(任意多個參數和一個返回值),并且只有一個地方會使用這個函數,不會在其他地方重用,可以使用lambda函數

4.匿名函數和普通函數的對比

def sum_func(a, b, c):
    return a + b + c
# 將匿名函數對象賦值給 sum_lambda
sum_lambda = lambda a, b, c: a + b + c
print(sum_func(1, 2, 3))  # 6
print(sum_lambda(1, 2, 3))  # 6

5.匿名函數的多種形式

# 無參數
lambda_a = lambda :100
print(lambda_a())  # 100
 
# 一個參數
lambda_b = lambda num: num * 10
print(lambda_b(1))  # 10
 
# 多個參數
lambda_c = lambda a, b, c: a + b + c
print(lambda_c(1, 10, 100))  # 111
 
# 表達式分支
lambda_d = lambda x: x if x > 5 else x + 1
print(lambda_d(4))  # 5
print(lambda_d(6))  # 6

6.lambda 作為一個參數傳遞

def sub_func(a, b, func):
    print("a = ", a)
    print("b = ", b)
    print("a - b = ", func(a, b))
sub_func(3, 2, lambda a, b: a - b)
# 結果:
#     a =  3
#     b =  2
#     a - b =  1

7. lambda函數與python內置函數配合使用

sorted是Python中對列表排序的內置函數,我們使用lambda來獲取排序的key

member_list = [
    {"price": 9},
    {"price": 999},
    {"price": 99}
]
new_list = sorted(member_list, key=lambda dict_: dict_["price"])
print(new_list)  #  [{'price': 9}, {'price': 99}, {'price': 999}]
number_list = [100, 77, 69, 31, 44, 56]
num_sum = list(map(lambda x: {str(x): x}, number_list))
print(num_sum)  # [{'100': 100}, {'77': 77}, {'69': 69}, {'31': 31}, {'44': 44}, {'56': 56}]

map是Python中用來做映射的一個內置函數,接收兩個參數,第一個參數是一個函數,第二個參數是一個可迭代對象,map會遍歷可迭代對象的值,然后將值依次傳遞給函數執行。我們使用lambda來實現map中的函數參數。

8.lambda 作為函數的返回值

def discount_func(discount):
    return lambda price: discount * price
 
p = discount_func(0.8)
print(p)  # function discount_func.locals>.lambda> at 0x00000241352BAC10>
print(p(100))  # 80.0

 匿名函數可以作為一個函數的返回值,上面函數discount_func返回一個設定了折扣的匿名函數對象,調用這個對象,傳入價格,就可以得到折扣后的價格

到此這篇關于python基礎之匿名函數詳解的文章就介紹到這了,更多相關python匿名函數內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python匿名函數lambda原理及實例解析
  • Python函數的返回值、匿名函數lambda、filter函數、map函數、reduce函數用法實例分析
  • python lambda表達式(匿名函數)寫法解析
  • Python3匿名函數lambda介紹與使用示例
  • 詳解Python匿名函數(lambda函數)
  • python ---lambda匿名函數介紹
  • Python之lambda匿名函數及map和filter的用法
  • python基礎教程之匿名函數lambda
  • 舉例講解Python的lambda語句聲明匿名函數的用法
  • Python的lambda匿名函數的簡單介紹

標簽:臨汾 貴州 陽泉 克拉瑪依 雙鴨山 金華 赤峰 日照

巨人網絡通訊聲明:本文標題《python基礎之匿名函數詳解》,本文關鍵詞  python,基礎,之,匿名,函數,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python基礎之匿名函數詳解》相關的同類信息!
  • 本頁收集關于python基礎之匿名函數詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 桃园市| 安多县| 凤阳县| 蓬安县| 广昌县| 营口市| 夏邑县| 和平区| 五寨县| 象山县| 绥化市| 玉田县| 大埔区| 高陵县| 尼木县| 土默特左旗| 广灵县| 视频| 涞水县| 广饶县| 怀柔区| 隆尧县| 靖宇县| 汶上县| 福泉市| 天津市| 广平县| 称多县| 蒙自县| 仁布县| 无为县| 尤溪县| 安仁县| 阳朔县| 峨边| 古蔺县| 湟中县| 金山区| 峡江县| 曲水县| 靖州|