[Python-Dev] removing nested tuple function parameters

Guido van Rossum guido at python.org
Mon Sep 19 02:31:52 CEST 2005

> [Brett]
> > Is anyone truly attached to nested tuple function parameters; ``def
> > fxn((a,b)): print a,b``?

> I am.

I agree that we shouldn't mess with them in 2.x. Yet I think they are
a candidate for being dropped from Py3K. While every feature is used
by *someone* (as the feedback to Brett's query clearly shows) this one
has several things against it. For every user who is fond of them
there are probably ten who have never even heard of it. It's purely
syntactic sugar (the only place where it's not trivial to replace is
in a lambda). I've encountered quite a few people who had a hard time
reading code that uses it. I personally prefer reading code that
doesn't use this feature; for one thing, when this is used, you can't
refer to a parameter by name.

I'm not going to do the survey myself, but you could go through a
representative code sample and see how it looks after doing the
natural transformation. (In fact, this would be one 2.x -> 3.0
transformation that could easily be automated if you can handle making
up less-than-optimal names for the arguments.)

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list