Python way of printing: with 'format' or percent form? [duplicate] Python way of printing: with 'format' or percent form? [duplicate] python python

Python way of printing: with 'format' or percent form? [duplicate]


Use the format method, especially if you're concerned about Python 3 and the future. From the documentation:

The formatting operations described here are modelled on C's printf() syntax. They only support formatting of certain builtin types. The use of a binary operator means that care may be needed in order to format tuples and dictionaries correctly. As the new :ref: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.


.format was introduced in Python2.6

If you need backward compatibility with earlier Python, you should use %

For Python3 and newer you should use .format for sure

.format is more powerful than %. Porting % to .format is easy but the other way round can be non trivial


The docs say that the format method is preferred for new code. There are currently no plans to remove % formatting, though.