**kwargs?

Francois De Serres fdeserres at gmx.net
Wed Jul 13 09:21:50 EDT 2005


Michael Hoffman wrote:

>Peter Hansen wrote:
>  
>
>>Francois De Serres wrote:
>>
>>    
>>
>
>  
>
>>>*args is documented in the Tutorial. I reckon **kwargs represents a 
>>>dictionary of arguments. But I don't quite get the semantics of **x. 
>>>Undefined length tuple of undefined length tuples? Are there other 
>>>practical use cases for ** (common enough please, I wish I was, but 
>>>I'm not a scientist).
>>>      
>>>
>>Where did you get "tuples of tuples" for **x ?
>>    
>>
>
>I would guess it is confusion from languages where unary * means 
>dereference and ** means double dereference.
>  
>
That was precisely my mistake.

>To the OP: I'm glad you have been reading the tutorial. If you have 
>further questions the reference manual is a good place to look:
>
>http://docs.python.org/ref/function.html
>  
>
Now I see, there's a '**' token, which is not the same as two adjacents 
'*' tokens.

>Just as you can use a name other than self as the first argument to an 
>unbound method, you can call your *args and **kwargs *x and **y instead, 
>but they will still act just like *args and **kwargs.
>
>The stars are magic, not the names.
>  
>
Thanks mucho!
F.




More information about the Python-list mailing list