andytang866 发表于 2023-3-30 17:10

函数用作其他函数的参数问题

#Functions

#函数也可以用作其他函数的参数。

def add(x, y):

return x + y



def do_twice(func, x, y):

return func(func(x, y), func(x, y))



a = 5

b = 10



print(do_twice(add, a, b))

代码如上,初学函数,自定义的第二个函数do_tiwce(func,x,y)的第一个参数func是什么?一个函数?还是一个变量呢?
还有它的returnfunc(func(x, y), func(x, y))又是什么意思
最后do_twice(add, a, b))具体是怎么样的?


麻烦大佬们解惑谢谢


lieyanqzu 发表于 2023-3-30 17:22

高阶函数,就是把函数名作为参数传进去,实现上其实是传的函数指针
把add作为第一个参数传进去就相当于do_twice函数里的func函数就是add函数了
所以相当于return add(add(x, y), add(x, y))

ashortname 发表于 2023-3-30 17:48

add是函数名或者函数指针,add()是函数调用操作。
页: [1]
查看完整版本: 函数用作其他函数的参数问题