python *args和**kwds

*args(*一般紧跟一个标识符,你会看到a或者args都是标识符)是python用于接收或者传递任意基于位置的参数的语法。当你接收到一个用这种语法描叙参数时(好比你在函数def语句中对函数签名使用了星号语法),python会将此标识符绑定到一个元祖,该元祖包含了全部基于位置的隐士的接收到的参数。当你用这种语法传递参数时,标识符能够被绑定到任何可迭代对象(事实上,它也能够是人和表达式,并没必要须是一个标识符),只要这个表达式的结果是一个可迭代的对象就行。python

**kwds(标识符能够是任意的,一般k或者kwds表示)是python用于接收或者传递任意基于位置的参数的语法。(python有时候会将命名参数称为关键字参数,他们其实并非关键字--只是用他们来给关键字命名,好比pass,for或者yield,还有不少,不幸的是,这种让人疑惑的术语目前还是这门语言极其文化根深蒂固的一个组成部分。)当你接收到用这种语法描叙的一个参数时(好比你在函数的def语句中对函数签名使用了双星号语法)python会将标识符绑定到一个字典,该字典包含了全部接收到的隐士的命名参数。当你用这种语法传递参数时,标识符只能被绑定到字典(我ID号I它也能够是表达式,不必定是一个标识符,只要这个表达式的结果是一个字典便可)。函数

当你在定义或调用一个函数的时候,必须确保a和k在其余全部参数以后。若是这二者同时出现,要将k放在a以后。对象

相关文章
相关标签/搜索