簡體   English   中英

Python:執行代碼時會發生什么,邏輯是什么?

[英]Python: what happens when code is executed, what's the logic?

我是Python的初學者,我確實需要幫助來了解此代碼的工作原理。 我需要寫下該程序的功能-打印什么,以及變量的值隨着程序的執行而變化。 我知道需要調用函數,並且知道循環的工作方式,但是令我感到困惑的是最后一行。 如果只是print(funk2(a,a)),程序將輸出5、5,if,return和5。但是,如果它是參數會怎樣?

    def funk2(x, y):
        print(x)
        print(y)
        while x > 1:
            if y == 2 or not x > y:
                x -= 4
                print("if")
            elif y != 4:
                print("return")
                return y
            else:
                print("else")
                x += 2
        print("return")
        return 5
    a = 5
    print(funk2(a + 1, funk2(a, a)))

讓我們僅分解最后一行:

funk2(a + 1, funk2(a, a))

首先將評估funk2(a, a) ,然后返回一個值(假設它對應於x )。 然后它將評估a+1 ,其中a = 5 ,所以6

然后,最后它將調用函數funk2

funk2(6, x)

而已!

您也可以這樣寫最后一行:

b = a + 1
c = funk2(a, a)
print(funk2(b, c))

暫無
暫無

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

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