.format vs. %

Stefan Krah stefan-usenet at bytereef.org
Tue Jan 3 06:47:16 EST 2012


Andrew Berg <bahamutzero8825 at gmail.com> wrote:
> To add my opinion on it, I find format() much more readable and easier
> to understand (with the exception of the {} {} {} {} syntax), and would
> love to see %-style formatting phased out.

For me the %-style is much more readable. Also, it is significantly
faster:

$ ./python -m timeit -n 1000000 '"%s" % 7.928137192'
1000000 loops, best of 3: 0.0164 usec per loop
$ ./python -m timeit -n 1000000 '"{}".format(7.928137192)'
1000000 loops, best of 3: 1.01 usec per loop


In the real-world telco benchmark for _decimal, replacing the single line

    outfil.write("%s\n" % t)

with

    outfil.write("{}\n".format(t))


adds 23% to the runtime. I think %-style formatting should not be
deprecated at all.


Stefan Krah





More information about the Python-list mailing list