一、Lambda表達式
1、Lambda表達式是Python中的一種匿名函數,可以快速創建小型函數而不必通過def關鍵字定義函數。
2、使用lambda表達式創建的函數無法包含多個語句或複雜邏輯,只能是一些簡單的表達式。
3、lambda表達式主要是為了方便在函數內部創建臨時函數,一般會配合其他函數式編程的方法一起使用。
# lambda表達式示例
square = lambda x: x * x
print(square(5)) # 輸出25
二、高階函數
1、高階函數指的是接收其它函數作為參數或以函數作為返回值的函數。
2、高階函數可以讓代碼更加簡潔,可讀性更強。
3、在函數式編程中,高階函數是非常常用的方法,例如map、filter和reduce函數。
# 高階函數示例
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def apply_operation(operation, x, y):
return operation(x, y)
print(apply_operation(add, 2, 5)) # 輸出7
print(apply_operation(subtract, 2, 5)) # 輸出-3
三、Map函數
1、map函數是Python內置的一個函數,接收一個普通的函數和一個可迭代對象作為參數。
2、map函數會對可迭代對象中的每個元素應用普通函數,並返回一個新的可迭代對象,其中包含了每個元素經過普通函數處理後的結果。
3、map函數是一種常用的將函數應用於每個元素的方法,可以用來簡化代碼。
# map函數示例
def square(x):
return x * x
nums = [1, 2, 3, 4, 5]
squared_nums = map(square, nums)
print(list(squared_nums)) # 輸出[1, 4, 9, 16, 25]
四、Filter函數
1、filter函數也是Python內置的一個函數,接收一個普通的函數和一個可迭代對象作為參數。
2、filter函數會對可迭代對象中的每個元素應用普通函數,並返回一個新的可迭代對象,其中只包含原可迭代對象中對應的元素使得普通函數返回True。
3、filter函數可以用來從一個序列中篩選出滿足特定條件的元素。
# filter函數示例
def is_even(x):
return x % 2 == 0
nums = [1, 2, 3, 4, 5]
even_nums = filter(is_even, nums)
print(list(even_nums)) # 輸出[2, 4]
五、Reduce函數
1、reduce函數也是Python內置的一個函數,接收一個普通的函數和一個可迭代對象作為參數。
2、reduce函數會對可迭代對象中的所有元素依次應用普通函數,其結果會被傳遞到下一次函數應用中。
3、reduce函數常常用來將所有元素組合為單個值。
# reduce函數示例
from functools import reduce
def multiply(x, y):
return x * y
nums = [1, 2, 3, 4, 5]
product = reduce(multiply, nums)
print(product) # 輸出120
原創文章,作者:XITKX,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/334093.html
微信掃一掃
支付寶掃一掃