谁能解释这个功能程序的工作原理?

奥托玛莎
def apply_twice(func,arg):
   return func(func(arg))

def add_five(x):
   return x+5

print (apply_twice(add_five,10))

我得到的输出是20。

这实际上使我感到困惑,例如它是如何工作的。有人可以通过分解来解释我这是如何工作的

迪米特里斯·法萨拉基斯·希利亚德(Dimitris Fasarakis Hilliard)

该函数apply_twice(func,arg)采用两个参数,一个功能对象func和一个参数传递给函数func调用arg

在Python中,可以轻松地将函数作为参数传递给其他函数,它们与任何其他参数类型(即,头等公民)的区别都没有区别

Inside apply_twicefunc在行中被两次调用:

func(func(arg))

或者,可以将其更友好地视为:

res = func(arg)  
func(res)  

如果func用传入的函数的名称替换add_five则会得到以下信息:

res = add_five(arg)  # equals: 15
add_five(res)        # result: 20

当然,它会返回您的预期结果。

从这里要记住的关键点是,您不应将函数Python视为某种特殊的构造,函数是像ints,listss一样对象而其他所有东西都是。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

谁能解释这个功能,我听不懂

来自分类Dev

谁能解释这个指令?

来自分类Dev

谁能解释这个javaScript

来自分类Dev

谁能解释这个指令?

来自分类Dev

谁能解释这个代码

来自分类Dev

谁能解释这个BFS代码是如何工作的?

来自分类Dev

谁能解释我这个Java代码是如何工作的?

来自分类Dev

谁能解释对功能的误解?

来自分类Dev

谁能向我解释此功能的工作原理?

来自分类Dev

谁能解释这个复杂的指针表达?

来自分类Dev

朋友谁能解释这个代码

来自分类Dev

谁能解释这个Swift Option选项

来自分类Dev

谁能解释这个奇怪的活动?

来自分类Dev

谁能解释$ flipCount如何工作?

来自分类Dev

谁能解释这个python静态类变量的情况?

来自分类Dev

谁能解释这个python静态类变量的情况?

来自分类Dev

谁能解释这个查询是什么意思?

来自分类Dev

谁能解释这个python语法-反向词

来自分类Dev

谁能解释如何简化这个集合算术问题?

来自分类Dev

谁能解释下面的查询如何工作?

来自分类Dev

谁能解释,为什么我的分类不能正常工作?

来自分类Dev

有人能解释一下这个功能是如何工作的吗?函数{}(函数

来自分类Dev

谁能解释一下Perl程序的行为

来自分类Dev

谁能解释以下程序中的错误是什么?

来自分类Dev

谁能解释和跟踪以下多重递归C程序?

来自分类Dev

谁能向我解释此脚本的工作原理?

来自分类Dev

谁能解释这个错误[AttributeError:“ DataFrame”对象没有属性“ to_numeric”]

来自分类Dev

谁能解释这个按位函数来计算log(n)

来自分类Dev

谁能解释为什么这个单元测试失败了?