iT邦幫忙

2021 iThome 鐵人賽

DAY 21
2

前言

今天要來介紹 Lambda 函式,這個函式相當簡單,只有一行就可以表示完了,Lambda 函式做的事情其實用普通的函式就可以做出一樣的功能了,但是 Python 這個程式語言追求的是簡潔簡短。

Lambda 函式 就是為了縮短程式碼所出現的招式。

Lambda 函式

以下為 Lambda 函式的語法

lambda 參數1, 參數2, ...: 運算式A if 判斷式 else 運算式B
  • Lambda 函式沒有函式名稱,程式中最前面的 lambda 是指令,不是函式名稱。

  • Lambda 函式中的「參數1, 參數2」就是一般函式括號裡的參數,後面 : 接的就是函式裡面的被定義函式(要執行的程式碼)

  • Lambda 函式的程式碼只能一行,並且會把運算後的結果自動傳回,不需要 return

先來看一下最簡單的用法:x(5) 代表把 a 代入 5

x = lambda a : a * 10
print(x(5))

來寫一個找最小值的函式:輸入為 a, b 兩個參數,若判斷式 a < b 成立,就輸出 a,若不成立就輸出 elseb
呼叫時可以用位置對應,也可以用名稱去呼叫,也比較不容易搞混。

x = lambda a, b : a if a < b else b
print(x(2, 6))
print(x(7, 5))
print(x(b = 1, a = 8))    # 用名稱呼叫

與「function 函式」連用

函式會把要 return 的東西都傳給呼叫的變數,我們把 Lambda 韓式放在 return 之後再呼叫一次就可以連用了。

def myfunc(n):
    return lambda a : a * n

test11 = myfunc(10)
print(test11(5))

待續...


上一篇
【Day 20】Python 一行內輸入多個數字、多個字串及好用的刷題網站推薦
下一篇
【Day 22】Class 類別
系列文
宇宙 69 大魔王的 python 世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言