HTML helper objects do not support the + operator (they don't have an 
__add__ method). Your example works because you are concatenating an HTML 
helper object with an XML object, and the XML object does support the + 
operator -- it does so by calling the __str__ method of both objects and 
concatenating the strings (via Python's string formatting syntax). If you 
replace var2 with TD("bbbb"), you'll get a syntax error instead of a string 
returned.
 
If you want to concatenate two (or more) helper objects together without 
putting them inside another helper object and without first converting them 
to strings, you can put them inside an empty TAG object:
 
TAG[''](var1, var2)
 
Anthony

On Tuesday, June 28, 2011 9:17:38 AM UTC-4, apple wrote:

> If I try to concatenate a TD and an XML using += then I end up with a 
> string. Why is that? 
>
> e.g. 
>
> var1=TD("aaaa") 
> var2=XML("bbbb") 
> print(type(var1)) 
> print(type(var2)) 
> var1+=var1 
> print(type(var1)) 
>
> ===> TD, XML, string


On Tuesday, June 28, 2011 9:17:38 AM UTC-4, apple wrote: 
>
> If I try to concatenate a TD and an XML using += then I end up with a 
> string. Why is that? 
>
> e.g. 
>
> var1=TD("aaaa") 
> var2=XML("bbbb") 
> print(type(var1)) 
> print(type(var2)) 
> var1+=var1 
> print(type(var1)) 
>
> ===> TD, XML, string

Reply via email to