Menu
CoddyTech

函数作为参数

Coddy Python 装饰器 课程的第 3 课,共 12 课。

在 Python 中,我们可以把一个函数作为参数传递给另一个函数。

例如:

def add_numbers(a, b):
    return a + b

def multiply_numbers(a, b):
    return a * b

def calculate(func, a, b):
    return func(a, b)

result = calculate(add_numbers, 2, 3)
print(result) # 输出:5

result = calculate(multiply_numbers, 2, 3)
print(result) # 输出:6

在这个例子中,我们定义了两个函数:add_numbers 和 multiply_numbers。

然后,我们定义了第三个函数 calculate,它将函数 func 作为第一个参数,另外还接收两个参数 a 和 b。

调用 calculate 时,我们将要使用的函数名称(add_numbers 或 multiply_numbers)作为 func 参数传入,同时传入要进行运算的两个数字。

然后,calculate 函数会调用函数 func,并将这两个数字传给它,最后返回结果。

在上面的例子中,我们调用了两次 calculate:一次传入 add_numbers,一次传入 multiply_numbers。

第一次调用返回 2 和 3 的和(也就是 5),第二次调用返回 2 和 3 的乘积(也就是 6)。

challenge icon

挑战

简单

编写一个名为 list_operator 的函数,它接受一个整数列表和一个运算符函数作为参数。

operator 函数应接受两个整数作为输入,并返回一个整数作为输出。

list_operator 函数应将运算符函数应用于列表中所有相邻的整数对,并返回一个包含结果的新列表。

以下是函数工作方式的示例:

>>> numbers = [1, 2, 3, 4, 5]
>>> result = list_operator(numbers, operator.add)
>>> result
[3, 5, 7, 9]

>>> numbers = [10, 20, 30, 40]
>>> result = list_operator(numbers, operator.mul)
>>> result
[200, 600, 1200]

约束条件

  • 输入列表始终至少包含两个整数。
  • 运算符函数始终接受两个整数作为输入,并返回一个整数作为输出。

注意!运算符函数由我们提供,你不需要创建它,只需使用它。

亲手试试

Python 装饰器中的所有课

自己练习: Python 在线编译器