Default paranmeter for packed values

Terry Reedy tjreedy at udel.edu
Mon Apr 19 02:59:51 EDT 2010


On 4/18/2010 7:23 PM, Xavier Ho wrote:
> G'day Pythoneers,
>
> I ran into a strange problem today: why does Python not allow default
> paranmeters for packed arguments in a function def?
>
>> >> def test(a = 1, b = (2, 3)):
> ...     print a, b
> ...
>> >> test()
> 1 (2, 3)
>
>> >> def t(a, *b = (3, 4)):
>    File "<input>", line 1
>      def t(a, *b = (3, 4)):
>                  ^
> SyntaxError: invalid syntax
>
> What was the rationale behind this design?

To reword what G. Ewing said, because t(3) causes b to be empty. In 
actually use cases, I believe that that is usually the appropriate thing 
to do.

tjr




More information about the Python-list mailing list