I'm trying to understand the use of tuples in function argument lists. I did this:
>>> def tester(a, (b,c)): ... print a, b, c ... >>> tester(1, 2) Traceback (most recent call last): File "<stdin>", line 1, in ? File "<stdin>", line 1, in tester TypeError: unpack non-sequence That was obvious result. >>> tester(1, (2, 3)) 1 2 3 >>> tester('ab', 'ab') ab a b And so were those. Then I tried this: >>> def tester(a, (b,c)=None): ... if (b,c) is None: ... print a, None ... else: ... print a, b, c Needless to say, it did not do what I expected it to do. I didn't expect it to either :-) I tried looking at the language reference here: http://docs.python.org/ref/function.html but I can't seem to find anything in their that says that tuples-as-args are legal. Am I misreading the docs, or is this accidental behaviour that shouldn't be relied on? Does anyone use this behaviour, and if so, under what circumstances is it useful? -- Steven -- http://mail.python.org/mailman/listinfo/python-list