[Python-ideas] Python Users Aren't Perfect

Matt Joiner anacrolix at gmail.com
Mon Dec 12 14:41:41 CET 2011


Here's some crazy ideas:
 * Don't allow iteration on tuples. for i in tuple
 * Make the singleton tuple the default object representation: (), a,
(a, b), (a, b, c), ...
 * Steal STM, Channels, and sparks from Haskell
 * Profit.

On Tue, Dec 13, 2011 at 12:26 AM, Ned Batchelder <ned at nedbatchelder.com> wrote:
> On 12/12/2011 8:19 AM, Antoine Pitrou wrote:
>>
>> Le lundi 12 décembre 2011 à 08:15 -0500, Ned Batchelder a écrit :
>>>
>>> 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 would say:
>> - because it's easier to read (subjectively so, I guess)
>> - because it's easier to copy/paste into an expression without running
>> into precedence problems
>
> Yes, those are good reasons.  And you can see why Python's insistence on
> showing tuples with parens contributes to the gotcha that the parens are a
> red herring, and it's the commas that are important.  Also, who hasn't said
> this to a beginner:  "lists and tuples are very similar, lists use square
> brackets, tuples use parens"?  Somehow, in a list, the commas don't make a
> tuple...  It's complicated.
>
> I welcome Richard's help in explaining this issue to beginners.
>
> --Ned.
>
>> Regards
>>
>> Antoine.
>>
>>
>> _______________________________________________
>> Python-ideas mailing list
>> Python-ideas at python.org
>> http://mail.python.org/mailman/listinfo/python-ideas
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas



-- 
ಠ_ಠ



More information about the Python-ideas mailing list