On Tuesday, May 10, 2016 at 8:16:43 PM UTC-4, Thomas 'PointedEars' Lahn wrote: > DFS wrote: > > > On 5/8/2016 8:44 PM, Thomas 'PointedEars' Lahn wrote: > >> With the “%” string operator (deprecated), > > > > according to who? > > TFM. >
It's easy to be confused on this point. Early on in the 3.x planning, there was talk of deprecating %-formatting. It didn't happen, though. The docs have discussed it in a few different ways over the years. Python 3.0 and 3.1 said: https://docs.python.org/3.1/library/stdtypes.html#old-string-formatting-operations Note: The formatting operations described here are obsolete and may go away in future versions of Python. Use the new String Formatting in new code. 3.2 said: https://docs.python.org/3.2/library/stdtypes.html#old-string-formatting-operations As the new String Formatting syntax is more flexible and handles tuples and dictionaries naturally, it is recommended for new code. However, there are no current plans to deprecate printf-style formatting. 3.3 and up say: https://docs.python.org/3.3/library/stdtypes.html#printf-style-string-formatting Note: The formatting operations described here exhibit a variety of quirks that lead to a number of common errors (such as failing to display tuples and dictionaries correctly). Using the newer str.format() interface helps avoid these errors, and also provides a generally more powerful, flexible and extensible approach to formatting text. So yes, .format is newer and more powerful, and there are good reasons to recommend it. But %-formatting is not deprecated. --NMB. -- https://mail.python.org/mailman/listinfo/python-list