*args(*一般緊跟一個標識符,你會看到a或者args都是標識符)是python用於接收或者傳遞任意基於位置的參數的語法。當你接收到一個用這種語法描敘參數時(好比你在函數def語句中對函數簽名使用了星號語法),python會將此標識符綁定到一個元祖,該元祖包含了全部基於位置的隱士的接收到的參數。當你用這種語法傳遞參數時,標識符能夠被綁定到任何可迭代對象(事實上,它也能夠是人和表達式,並沒必要須是一個標識符),只要這個表達式的結果是一個可迭代的對象就行。python
**kwds(標識符能夠是任意的,一般k或者kwds表示)是python用於接收或者傳遞任意基於位置的參數的語法。(python有時候會將命名參數稱爲關鍵字參數,他們其實並非關鍵字--只是用他們來給關鍵字命名,好比pass,for或者yield,還有不少,不幸的是,這種讓人疑惑的術語目前還是這門語言極其文化根深蒂固的一個組成部分。)當你接收到用這種語法描敘的一個參數時(好比你在函數的def語句中對函數簽名使用了雙星號語法)python會將標識符綁定到一個字典,該字典包含了全部接收到的隱士的命名參數。當你用這種語法傳遞參數時,標識符只能被綁定到字典(我ID號I它也能夠是表達式,不必定是一個標識符,只要這個表達式的結果是一個字典便可)。函數
當你在定義或調用一個函數的時候,必須確保a和k在其餘全部參數以後。若是這二者同時出現,要將k放在a以後。對象