簡體   English   中英

內在功能背后的邏輯

[英]Logic behind the Inner Function

我目前正在學習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)

現在,我試圖理解它背后的邏輯,但我似乎無法理解傳遞參數的順序。 我在調試模式下運行它並逐步完成這些行,我注意到的是x被分配了b的值而y被分配了c的值。 這是為什么?

是因為在評估max2(a,max2(b,c))之前首先評估max2(b,c)的第二個參數?

Max有三個參數。 Max2有兩個參數。 唯一相關的代碼行是

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

我們知道aa 為了繼續計算,我們需要解決(使用max2bc的較大者。 換句話說, max2(15, max2(5, 10))可以被認為是

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

唯一要認識到的是max2的范圍被限制在max范圍內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM