一、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-hk/n/334093.html