On Mon, Jul 28, 2014 at 5:41 PM, Albert-Jan Roskam <fo...@yahoo.com.dmarc.invalid> wrote: >> That's not tuple%tuple, but rather string%tuple. And string%tuple is >> the older method of formatting an output string from a template and a >> tuple of values. See >> https://docs.python.org/2/library/stdtypes.html#string-formatting for >> details. >> >> However, if you are just learning Python, you should probably use the >> *newer* formatting operations. See >> https://docs.python.org/3.3/library/string.html#formatspec for details >> of that. > > Do you know what was the reason/consideration to switch to a new formatting > operation? Ability to have custom formatters with an own __format__ method?
Flexibility. You can do a few things with the other formatting style that you can't do with percent-formatting. However, percent formatting isn't going anywhere, and there's no particular reason to avoid it, even in brand new code. It's more portable across languages (heaps of C-inspired languages have a printf-style function that responds to the same notations), more compact, and ample to a lot of situations, so there's no need to go for the other style. The only real downside of percent formatting is that, since it's an operator rather than a function call, it can take only one argument - so there's some magic with tuples, and a few extremely obscure corner cases as a result. Not a reason to avoid it. ChrisA -- https://mail.python.org/mailman/listinfo/python-list