,因爲我不知道如何元組拆包是工作,我已經在多個線程發現這個答案來替代切片:我不明白怎麼元組拆包作品(Python的2.X)
>>>>def unpack(first,*rest):
return first, rest
其工作原理如下:
>>>>first,rest=unpack(*(1,2,3))
>>>>first
1
>>>>rest
(2,3)
我不明白*的工作原理。 「first」這個參數不應該給我的函數解包?我認爲*意味着這個論點是可選的。
感謝您的幫助
你在這裏混合的概念。 'unpack()'的返回值被解壓到'first'和'rest'(元組解包)中。 'unpack()'函數簽名有一個splat-syntax catch-all參數'rest'。第三,您正在使用函數調用功能將序列擴展爲位置參數。 **這些是3件獨立的事情**。 –
是的,我明白我正在使用函數調用功能。我不明白的是,解壓縮(*(1,2,3))相當於解壓縮(1,2,3) –