這個問題在這里已經有了答案: “列印”和“回傳”之間的正式區別是什么?[重復] (6個答案) 3天前關閉。
我是一個初學者,所以我對 print() 函式背后的底層程序不太了解,但我很好奇這樣的事情背后的程序:
def test():
print("hi")
return "hi"
print(test())
這會輸出來自 test() 函式中 print() 的“hi”訊息以及來自 return 陳述句的“hi”。本能地,我只期望回傳陳述句中的“hi”。
任何人都可以簡單地解釋為什么我們得到兩者?我希望它是這樣的:當使用諸如 test() 之類的函式輸出作為列印函式的引數時,首先呼叫 test() 函式(因此產生第一個“hi”),然后列印其回傳輸出(產生第二個“嗨”)。
我在這里在某種程度上是對的嗎?我將不勝感激任何可以闡明這里發生的事情并提高我的理解的資訊:)
uj5u.com熱心網友回復:
這很簡單
print(test())
相當于
result = test()
print(result)
第一行呼叫test函式(在其主體中列印'hi' )并將名稱分配給result回傳值,巧合的是,它也是'hi'.
第二行列印回傳的值test。
uj5u.com熱心網友回復:
首先,它會列印“hii”,因為您在 print 函式中給出了這個函式。然后只列印“hii”,因為您在 test() 中回傳了這個值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/412397.html
標籤:
