详细介绍一下Python中高级函数应用并给出代码示例
时间: 2024-10-13 22:12:42 浏览: 14
在 Python 中,高级函数是一种利用内置功能或第三方库来解决复杂问题的简洁、高效的编程方式。它们通常包括生成器(Generators)、装饰器(Decorators)、高阶函数(Higher-order functions)等。
1. **生成器**:生成器是一种特殊的迭代器,通过 yield 关键字逐个返回值而不是一次性返回所有结果,这使得处理大量数据时节省内存。例如:
```python
def lazy_sum(n):
total = 0
for i in range(n):
yield total + i
# 使用时就像普通列表一样
g = lazy_sum(5)
for num in g:
print(num)
```
2. **装饰器**:装饰器本质上是将修改其他函数功能的函数作为“包装”放在目标函数之前。例如,计时装饰器:
```python
import time
def timer(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__} took {end_time - start_time} seconds.")
return result
return wrapper
@timer
def my_func(n):
time.sleep(n)
my_func(2)
```
3. **高阶函数**:接受一个或多个函数作为参数,或返回一个函数的函数。比如著名的 map() 和 filter() 函数:
```python
numbers = [1, 2, 3, 4, 5]
squares = list(map(lambda x: x**2, numbers))
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(squares) # 输出:[1, 4, 9, 16, 25]
print(even_numbers) # 输出:[2, 4]
```