gpt4 book ai didi

python - 内部函数背后的逻辑

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:01 24 4
gpt4 key购买 nike

我目前正在学习 Python 并按照教程进行操作,并使其成为装饰器。但在深入研究之前,我想很好地了解内部函数的工作原理,因此我遇到了这段代码。

def max(a, b, c):
def max2(x, y):
return x if x >= y else y
return max2(a, max2(b, c))

main_max = max(15, 5, 10)

print(main_max)

现在,我试图理解它背后的逻辑,但我似乎无法理解传递参数的顺序。我在 Debug模式下运行它并逐步执行这些行,我注意到 x 被赋予了 b 的值,而 y 被赋予了 c 的值。这是为什么?

是否因为第二个参数 max2(b, c) 在评估 max2(a, max2(b, c)) 之前先被评估?

最佳答案

Max 接受三个参数。 Max2 有两个参数。唯一相关的代码行是

return max2(a, max2(b, c))

我们知道aa。为了继续计算,我们需要解决(使用 max2)bc 中的较大者。换句话说,max2(15, max2(5, 10)) 可以被认为是

t = max2(5, 10) # (5 ? 10) = 10
return max2(15, t) # (15 ? 10) = 15

唯一需要注意的是 max2 的范围被限制在 max 内。

关于python - 内部函数背后的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51906628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com