[Python-ideas] Python Users Aren't Perfect
Ned Batchelder
ned at nedbatchelder.com
Thu Dec 15 22:06:59 CET 2011
On 12/15/2011 4:00 PM, Ethan Furman wrote:
> Ned Batchelder wrote:
>> This is another place where Python is inconsistent. We're told,
>> "lists are for homogenous sequences of varying length, like a C
>> array; tuples are for heterogenous aggregations of known length, like
>> a C struct." Then we define a function foo(*args), and Python gives
>> us a tuple! :-(
>
> Where is that in the docs? Sounds like a patch is needed:
>
> "lists are for sequences where items need to be added/removed; tuples
> are for sequences/aggregations where items will not be added/removed
> once the tuple is created"
>
I don't know if it appears in the docs, but I hear it all the time, and
Guido has said it
(http://mail.python.org/pipermail/python-dev/2003-March/033964.html):
Tuples are for heterogeneous data, list are for homogeneous data.
Tuples are *not* read-only lists.
I don't want to get too far off the original point, which was: Python
isn't as simple as we'd like to thing, and even smart beginners can be
tripped up by things we've provided to them.
--Ned.
> ~Ethan~
>
> PS
> As Antoine noted, a tuple for 'args' is appropriate, as once args is
> created at function call time, we won't be adding or removing from it.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20111215/427b6443/attachment.html>
More information about the Python-ideas
mailing list