我有一個函數,我們將其稱爲funcA
,它返回一個對象。我想將該對象傳遞給funcB
。我可以這樣做嗎?函數參數調用函數
funcB(funcA());
使funcA()
被稱爲第一,並將結果傳遞給funcB()
?
我有一個函數,我們將其稱爲funcA
,它返回一個對象。我想將該對象傳遞給funcB
。我可以這樣做嗎?函數參數調用函數
funcB(funcA());
使funcA()
被稱爲第一,並將結果傳遞給funcB()
?
如果有幫助,Yisroel,您可以想到返回的對象「就地替換」函數。所以,funcA()被執行後,它被返回的值「替換」並傳遞給funcB()。
但是,通常情況下,您不希望這樣的嵌套函數超過3個級別。如果它開始變得不可讀,將對象存儲到一個變量中,並將該變量傳遞給下一個函數可以使您的代碼更具可讀性。
所以答案是肯定的,正如其他人所指出的那樣。
實際上,這樣做是一種代碼氣味,儘管我已經做到了,但我會建議不要這樣做,更不用說3級了(?!) – 2010-04-22 03:52:49
有時它可以被讀取。即Python 3:'print(sum(len(getLines()))' – 2010-04-22 03:56:35
Darko,你爲什麼會推薦這個? – Yisroel 2010-04-22 04:12:10
是的,是的,你可以。
我沒有看到任何問題,你有沒有嘗試過任何樣品?
它應該工作正常。
如果您遇到任何特定問題,請發佈。
如果你想通過FuncA的作爲參數傳遞給funB那麼你必須調用funcB作爲funcB(FuncA的)
是。函數的參數是在將表達式值傳遞給函數之前求值的表達式。一個表達式當然可以是一個函數調用。
是的,這應該是你想要的。 funcB(funcA())
調用funcA()
並將結果傳遞到funcB()
也許你擔心它會通過功能funcA
到funcB()
?爲此,語法應該是funcB(funcA)
其他人認爲這將是更快的測試比發佈的問題? – 2010-04-22 03:34:35
我到底在想什麼? – Yisroel 2017-06-30 14:28:34