函数作为参数
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)。
挑战
简单编写一个名为 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 在线编译器