wohenhao123 发表于 2023-6-25 21:04:27

小白求助!

46讲的作业
def funA(first):
    def funB(second):
      def funC(third):
            return first*second * third
      return funC
    return funB
funA(3)(4)(5)
虽然照猫画虎写出来了,但是仍旧没有理解return funB/funC 的意思

sfqxx 发表于 2023-6-25 21:05:35

这段代码是一个嵌套函数,每个函数都返回整个函数的另一个嵌套函数。

`funA`函​​数接收一个参数first并返回 `funB` 函数,其定义中包含了一个内部函数 `funC`。而 `funB` 函数又接收一个参数 `second`,返回函数 `funC`。

最后调用语句 `funA(3)(4)(5)` 会依次调用 `funA(3)`、`funB(4)` 和 `funC(5)`函数,因为`funA(3)`返回的是function类型,所以它可以用`(4)`和`(5)` 进行调用。

函数的结果是第一个传入参数(first)和后面两个传入参数(second, third)的乘积。 可以看到函数通过嵌套来将多个参数组合起来计算,并且将参数延迟到最后一个函数才求值,提供了一种灵活的计算方式。

求最佳答案{:10_254:}

wohenhao123 发表于 2023-6-25 21:09:17

sfqxx 发表于 2023-6-25 21:05
这段代码是一个嵌套函数,每个函数都返回整个函数的另一个嵌套函数。

`funA`函​​数接收一个 ...

懂了,一层一层剥到最后的感觉,谢谢
页: [1]
查看完整版本: 小白求助!