這個問題在這里已經有了答案: 函式呼叫中的星號和雙星運算子是什么意思? (5 個回答) 2 天前關閉。
我正在學習 python 中的復雜函式。
我理解復雜函式 complex(a, b) 的輸入并將回傳 a bi。我不明白的是,當我以元組形式輸入 complex((a, b)) 時,它會回傳一個錯誤,但如果我使用 complex(*(a, b)) 它將回傳 a bi。所以在這種情況下,星號是復雜函式引數的特別部分,當它作為元組給出還是執行某種操作時?謝謝。
uj5u.com熱心網友回復:
本*-運算子用于引數拆包。
您沒有以相同的方式呼叫該函式。可以這樣想:
complex(real=a, imaginary=b)
# vs.
complex(real=(a, b))
這也是你看到人們寫的原因def fn(*args, **kwargs),這意味著所有引數和關鍵字引數都將被解包。
uj5u.com熱心網友回復:
在這種情況下,函式 complex(a,b) 需要兩個引數。當你像 complex((a,b)) 一樣運行這個函式時,你只給函式一個引數 - 這是一個包含兩個元素的元組。像這樣使用的星號解包了可迭代元組
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/374605.html
