日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 匿名函数 lambda - Python零基础入门教程

發布時間:2024/9/27 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 匿名函数 lambda - Python零基础入门教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一.Python 匿名函數 lambda 語法
  • 二.Python 匿名函數 lambda 調用
    • 1.lambda 匿名函數常規使用
    • 2. lambda 匿名函數使用不定長參數
    • 3. lambda 匿名函數作為參數使用
  • 三.Python 匿名函數 lambda 重點總結:
  • 四.猜你喜歡

零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門

在 Python 開發中常規的函數在調用之前都需要先聲明,而 Python 匿名函數,有速寫函數的功能并且匿名函數不需要聲明也沒有函數名字,完全不需要擔心函數名沖突,具體的妙用還需要從實戰練習中多多積累經驗。

一.Python 匿名函數 lambda 語法

lambda a,b,c:expression

1.匿名函數有關鍵字 lambda 修飾;
2.匿名函數冒號 : 之前的是函數的參數,匿名函數可以是無參匿名函數,也可以是帶參匿名函數;
3.匿名函數冒號 : 之后是表達式,匿名函數不需要寫 return,表達式的結果就是返回值;

# !usr/bin/env python# -_- coding:utf-8 \__-"""@Author:猿說編程@Blog(個人博客地址): www.codersrc.com@File:Python 匿名函數 lambda.py@Time:2021/04/11 09:00@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""#不帶參數的普通函數def sing_dog():return True #不帶參數的匿名函數f0 = lambda :True # 無參的匿名函數,在匿名函數的冒號前面無需寫參數print(sing_dog())print(f0())print("*\*\*"*20)#帶參數的普通函數def sub(a,b):return a - bdef add(a,b):return a + b#帶參數的匿名函數f1 = lambda a,b:a-bf2 = lambda a,b:a+bprint(sub(4,2))print(add(4,2))print(f1(4,2))print(f2(4,2))'''輸出結果:TrueTrue2626 '''

首先,匿名函數和普通函數對比之下,明顯能感覺到匿名函數的使用能讓代碼更加簡潔,當然匿名函數使用場景適用于比較簡單的需求,對于復雜的計算,匿名函數是無法完成的;

其次,無參的匿名函數,在匿名函數的冒號前面無需寫參數;

二.Python 匿名函數 lambda 調用

1.lambda 匿名函數常規使用

假如有這樣一個需求:傳入一個字符串,對字符串根據空格拆分,并以字符串的形式返回拆分后的結果,示例代碼如下:

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 匿名函數 lambda.py @Time:2021/04/11 09:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""str1 = "laowang is sing_dog "#普通函數 def get_str(str1):# 1.將字符串拆分為列表list1 = str1.split(" ")# 2.將列表轉為字符串并返回字符串return "".join(list1)# 將1/2兩步合并為一步完成# return "".join(str1.split(" "))print("打印原始字符串:",str1) print("調用普通函數獲取字符串拆分結果:",get_str(str1))#匿名函數 f0 = lambda a:"".join(a.split(" ")) print("調用匿名函數獲取字符串拆分結果:",f0(str1))''' 輸出結果:打印原始字符串: laowang is sing_dog 調用普通函數獲取字符串拆分結果: laowangissing_dog 調用匿名函數獲取字符串拆分結果: laowangissing_dog '''

如果對字符串轉換不太熟悉的童鞋請參考:字符串/列表/元組/字典之間的相互轉換

2. lambda 匿名函數使用不定長參數

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 匿名函數 lambda.py @Time:2021/04/11 09:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""# 匿名函數:通過條件表達式,返回最大值 f0 = lambda x,y: x if x> y else y print(f0(5,10))# 匿名函數:求三個參數的乘積 f1 = lambda x,y,z: x*y*z print(f1(1,2,3))# 缺省的匿名函數 f2 = lambda x,y=2: x+y #使用了默認值 print(f2(10)) #第二個參數為缺省參數,使用默認值2# 不定長參數的匿名函數 f3 = lambda *z:z #*z返回的是一個元祖 print(f3('hello',False))# 不定長參數的匿名函數 f4 = lambda **Arg: Arg #arg返回的是一個字典 print(f4(a=1,b=2,k="hello"))''' 輸出結果:10 6 12 ('hello', False) {'a': 1, 'b': 2, 'k': 'hello'} '''

如果對 Python 不定長參數*argc,**kargcs 不太熟悉的話,可以在看一遍這篇文章:Python 函數不定長參數 *argc,**kargcs

3. lambda 匿名函數作為參數使用

其實匿名函數作為函數參數傳參和普通函數傳參沒什么區別,示例代碼如下:

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 匿名函數 lambda.py @Time:2021/04/11 09:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""def function1(a,b,):return a if a>b else b #返回最大值# 1.定義匿名函數 f0 = lambda b:b*10 # 2.匿名函數作為參數,調用普通函數 function1(100,f0(5))# 上面兩行代碼合并為一行 function1(100 , (lambda b:b*10)(5))

]

三.Python 匿名函數 lambda 重點總結:

  • 1.匿名函數可以是無參匿名函數也可以是有參匿名函數;
  • 2.匿名函數不僅可以直接當作函數調用,還能直接作為函數中的參數直接使用;

四.猜你喜歡

  • Python 字符串/列表/元組/字典之間的相互轉換
  • Python 局部變量和全局變量
  • Python type 函數和 isinstance 函數區別
  • Python is 和 == 區別
  • Python 可變數據類型和不可變數據類型
  • Python 淺拷貝和深拷貝
  • Python 遞歸函數
  • Python sys 模塊
  • Python 列表 list
  • Python 元組 tuple
  • Python 字典 dict
  • Python 條件推導式
  • Python 列表推導式
  • Python 字典推導式
  • Python 函數聲明和調用
  • Python 不定長參數 *argc/**kargcs
  • 未經允許不得轉載:猿說編程 ? Python 匿名函數 lambda

    總結

    以上是生活随笔為你收集整理的Python 匿名函数 lambda - Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。