专业编程基础技术教程

网站首页 > 基础教程 正文

Python高阶函数

ccvgpt 2024-12-03 10:52:52 基础教程 1 ℃

在Python中,高阶函数是指能够接受其他函数作为参数或返回函数的函数。这种特性使得函数具有更大的灵活性和可复用性。以下是一些常见的高阶函数及其用法:

1. map()

map()函数将指定函数应用于给定可迭代对象的每个元素,并返回一个迭代器。

Python高阶函数

def square(x):
    return x ** 2

numbers = [1, 2, 3, 4, 5]
squared = list(map(square, numbers))
print(squared)  # 输出: [1, 4, 9, 16, 25]

2. filter()

filter()函数根据指定条件过滤可迭代对象中的元素,并返回一个迭代器。

def is_even(x):
    return x % 2 == 0

numbers = [1, 2, 3, 4, 5]
evens = list(filter(is_even, numbers))
print(evens)  # 输出: [2, 4]

3. reduce()

reduce()函数(需从functools模块导入)对可迭代对象中的元素进行累计操作,返回一个单一值。

from functools import reduce

def add(x, y):
    return x + y

numbers = [1, 2, 3, 4, 5]
total = reduce(add, numbers)
print(total)  # 输出: 15

4. 闭包

闭包是一个函数,捕获并记住其外部作用域的变量。

def make_multiplier(factor):
    def multiply(x):
        return x * factor
    return multiply

double = make_multiplier(2)
print(double(5))  # 输出: 10

5. 装饰器

装饰器是特殊的高阶函数,用于在不修改函数代码的情况下,增强或改变函数的行为。

def decorator_function(original_function):
    def wrapper_function():
        print("Wrapper executed before {}".format(original_function.__name__))
        return original_function()
    return wrapper_function

@decorator_function
def display():
    print("Display function executed.")

display()
# 输出:
# Wrapper executed before display
# Display function executed.

高阶函数提高了代码的灵活性和可读性。

最近发表
标签列表