根據調用者的不同,python中的函數可能返回不同數量的變量嗎?根據調用者返回不同數量的變量
我是一個Matlab程序員,在這個語言中它使用了很多,但我想知道如果Python也有這個選項,如果它是一個很好的編程習慣。
Matlab的例子:
minval = min([5,2,7,1,6]) % will only return the min value
minval, idx = min([5,2,7,1,6]) % will return the min value and the index
min函數這裏僅僅是一個例子(我的功能有什麼用計算最小值做)。
我想創建一個函數,在90%的情況下,只有第一個返回的值將被使用(如在min
中,有時您不關心索引但僅僅需要該值本身)。
當然,我可以強制每次調用2個返回值,但我認爲如果您可以僅根據您的需要使用一個返回值或2來調用它,它會更乾淨和更好。
我已經看到一些有趣的提議,關於傳遞一個標誌與默認值告訴函數有多少輸出是預期的,但我正在尋找一些完全透明的東西。
可能嗎?是。值得做?編號 –
許多功能(例如在web API中)總是返回列表 - 帶有許多結果,如果沒有結果,則返回一個結果或空列表 - 它使生活變得更容易。 – furas
關於MATLAB如何處理返回值,沒有什麼「乾淨」或「很好」。它使包裝函數等簡單的事情變得痛苦,使得類似於重寫索引惡夢的類,並且使通用匿名包裝函數變得不可能。 – TheBlackCat