Modifying the {} and [] tokens

Dave Brueck dave at pythonapocrypha.com
Sat Aug 23 06:30:07 EDT 2003


On Saturday 23 August 2003 10:12 am, Geoff Howland wrote:
> On 23 Aug 2003 08:18:49 -0700, mis6 at pitt.edu (Michele Simionato)
>
> >Python tries hard not to modify its basic syntax, so you must stay
> >with the above. Pythonista would argue that this is a strenght of the
> >language: "explicit is better than implicit".
>
> I agree with this philosophy too.  I'm not sure where the changes I'm
> looking to fail to be explicity.
>
> {} + {} makes sense right?  You are adding them together.  There will
> obviously be a possibility of key clobbering, but then you could run
> something like {}.intersect() and get the keys that will be clobbered
> (if it existed).

Does {'a':4} + {'a':6} equal
(a) {'a':10}
(b) {'a':[4,6]}
(c) {'a':4}
(d) {'a':6}

???

I can think of reasonable & realistic use cases where each one is the 
"obvious" choice.

> len([])
>
> [].len()

If you can conjure up the right Google Groups query, this has been discussed 
many times in the past (and by that I mean some good points have been raised 
that you might find interesting). In particular, I remember Alex Martelli 
making a good argument for len(obj) over obj.len(). For my part, now that I'm 
used to len(obj), the form obj.len() seems too much like 
OO-just-for-the-sake-of-OO, which isn't very compelling.

-Dave





More information about the Python-list mailing list