sum and strings

Fredrik Lundh fredrik at pythonware.com
Tue Aug 22 02:05:13 EDT 2006


Steven D'Aprano wrote:

>> and what exactly does the fact that Python can do operator-based 
>> dispatch much faster than it can do method-based dispatch have to
>> do with sum's inability to add strings ?
> 
> Sorry, I don't get you here. Are you saying that string addition doesn't
> call the operands' __add__ methods?

the "+" instruction (BINARY_ADD) special-cases integers and 8-bit 
strings, and uses a single C call via a type slot for other types.

in contrast, "join" and "sum" needs to do a full name lookup and a
full Python-level function call.  compared to the effort needed to
copy 100 bytes, that's a rather expensive set of operations.

</F>




More information about the Python-list mailing list