How can you take a function as a parameter and call it?
我的任务如下:"编写一个名为operate的函数,它将2个名为a、b的整数作为参数,并编写一个名为func的函数,它将2个整数作为参数。还可以编写函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # this adds two numbers given def add(a,b): print (a + b) # this subtracts two numbers given def sub(a,b): print (b - a) # this multiplies two numbers given def mul(a,b): print (a * b) # this divides two numbers given def div(a,b): print (a / b) |
要实现这一点,您需要从您的函数中获得一些东西,而不仅仅是打印一些东西。这允许您稍后使用结果。为此,只需将
1 2 3 4 5 6 7 8 9 10 11 | def add(a, b): return a + b def sub(a, b): return a - b def mul(a, b): return a * b def div(a, b): return a / b |
我已经改变了你的
现在编写一个
1 2 | def operate(a, b, func): return func(a, b) |
现在可以这样做:
1 2 3 4 | print(operate(3, 2, add)) print(operate(3, 2, sub)) print(operate(3, 2, mul)) print(operate(3, 2, div)) |
这将导致输出:
1 2 3 4 | 5 1 6 1.5 |
在我问到的关于标准库的一条评论中——你看,所有这些都已经由Python实现了。您可以将前四个函数定义替换为:
1 | from operator import add, sub, mul, truediv as div |
让您只定义