On Sat, Mar 13, 2010 at 3:03 AM, Alan Gauld <alan.ga...@btinternet.com>wrote:
> "Ray Parrish" <c...@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
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor