Congratulate 发表于 2020-7-27 16:10:40

什么叫做一个函数作为另一个函数的参数

什么是一个函数作为另一个函数的参数,请大神们打个简单点的代码,然后给我解释下({:10_254:} 手动送花)

Twilight6 发表于 2020-7-27 16:13:10

本帖最后由 Twilight6 于 2020-7-27 16:14 编辑



例子:

def temp():
    print('调用了 temp 函数')


def f(func):    # 这边设置一个参数
    print('调用了 f 函数')
    func()   # 加上括号表示调用这个传入的参数函数

f(temp)   # 这里传入了另一个函数

输出结果:
调用了 f 函数
调用了 temp 函数

Congratulate 发表于 2020-7-27 16:17:16

执行顺序是不是
先调用def f() ,然后 func=temp 。执行完f()后,返回结果是temp()。所以再执行temp()。

Twilight6 发表于 2020-7-27 16:21:31

Congratulate 发表于 2020-7-27 16:17
执行顺序是不是
先调用def f() ,然后 func=temp 。执行完f()后,返回结果是temp()。所以再执行temp( ...



Ps:回复他人记得点击回复,不然别人看不见消息提醒哈~


是先传入参数,然后调用函数

先 func = temp ,然后参数准备就绪,调用 f 函数, f 函数打印一次,然后在运行到 func() 等价与调用了 temp()

而且这里没有设置 return ,所以没有返回哈,返回的都是 None


heidern0612 发表于 2020-7-27 16:21:33

参数一般情况下都是变量,但函数也是变量啊。

def main(func):
    if func():
      print("打印函数")


def print_func():
    return True


main(print_func)

例如以上:把print_func函数的返回结果给了main 函数,打印了内容。

Congratulate 发表于 2020-7-27 16:57:53

Twilight6 发表于 2020-7-27 16:21
Ps:回复他人记得点击回复,不然别人看不见消息提醒哈~




刚刚忘点回复了,不好意思哈{:10_263:}

Congratulate 发表于 2020-7-27 17:10:30

heidern0612 发表于 2020-7-27 16:21
参数一般情况下都是变量,但函数也是变量啊。




你这个 if func(): 是什么意思。是 if ture 的意思么?
页: [1]
查看完整版本: 什么叫做一个函数作为另一个函数的参数