[Tutor] First program

Luke Paireepinart rabidpoobear at gmail.com
Sat Mar 13 10:30:56 CET 2010


On Sat, Mar 13, 2010 at 3:03 AM, Alan Gauld <alan.gauld at btinternet.com>wrote:

> "Ray Parrish" <crp at cmc.net> wrote
>
>>    print "A %s with dimensions %sx%s has an area of %s." % (choice,
>>> height, width, width*height)
>>>
>>>  Isn't it a little more understandable to use a construct like the
>> following?
>>
>>  print "The area of a " + Choice + "is " str(Width) + " x " +
>>>>>
>>>> str(Height) + " equals " + str(Width * Height) + " square feet"
>>
>
> It depends on where you come from.
> Those of us brought up on C or COBOL are used to separating the
> presentation from the data. Those brought up with PASCAL and BASIC are used
> to iterleaving data with presentation.
>
> One thing - you don't need all the str() calls in your example, print
> already calls str() for you. Also comma separators are better than + signs
> since the plus operation on strings is quite expensive - you create a new
> string for each addition.
>
>
> print actually doesn't call str if you use concatenation.  So the str()
calls are necessary if you do not use "," but use "+" instead.
So there are at least 2 reasons why + is worse than comma.
Another thing to be aware of is that if you use commas,
print inserts a space in the string, which may be either an advantage or a
disadvantage depending on what you're trying to do.

-Luke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100313/c2772838/attachment.html>


More information about the Tutor mailing list