[Python-ideas] Python Users Aren't Perfect

Masklinn masklinn at masklinn.net
Mon Dec 12 14:25:42 CET 2011

On 2011-12-12, at 14:15 , Ned Batchelder wrote:
> Believe me, I understand the issues.  It is true, though that the single-element tuple syntax is often a surprise to people, and often well into their Python learning experience.  We often repeat, "it isn't parens that make a tuple, but a comma."  Then why when displaying a tuple does Python insist on using parens around it?
> >>> 1, 2, 3
>    (1, 2, 3)
> I'm not saying it shouldn't, it's a rhetorical question.  The repr of a tuple always includes parens, even though "parens don't make a tuple."  It's the best of all the options, but let's face it: it's confusing.
An alternative would be to just drop the literal unary tuple. I would be kind-of sad as I'd lose the ability to unpack singleton iterables, but it would "fix" the issue.

FWIW, Haskell does not have a literal singleton (the standard defines "unit" `()` and 2-tuple through 15-tuple)

More information about the Python-ideas mailing list