高阶函数是Python中一种强大的编程概念,它允许函数作为参数传递给其他函数,或者将函数作为返回值返回。下面是一些高阶函数的例子和用法:
高阶函数示例
函数作为参数
def apply_func(func, a, b):
return func(a, b)
def add(x, y):
return x + y
result = apply_func(add, 1, 2)
print(result) 输出:3
函数作为返回值
def create_adder(x):
def adder(y):
return x + y
return adder
adder_3 = create_adder(3)
print(adder_3(5)) 输出:8
常用高阶函数
map
def square(x):
return x 2
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers)) 输出:[1, 4, 9, 16, 25]
```
filter
def is_even(x):
return x % 2 == 0
even_numbers = filter(is_even, range(10))
print(list(even_numbers)) 输出:[0, 2, 4, 6, 8]
reduce
from functools import reduce
def multiply(x, y):
return x * y
numbers = [1, 2, 3, 4, 5]
product = reduce(multiply, numbers)
print(product) 输出:120
匿名函数(lambda)
double = lambda x: x * 2
print(double(5)) 输出:10
注意事项
当使用高阶函数时,需要注意变量的作用域和闭包的概念。
在Python中,函数名本身就是一个指向函数的变量。
使用高阶函数可以使代码更加模块化和可重用。
希望这些示例能帮助你理解Python中高阶函数的用法。