On Tue, 23 Apr 2013 09:46:53 +0200, Ulrich Eckhardt wrote: > Am 23.04.2013 06:00, schrieb Steven D'Aprano: >> If it comes down to micro-optimizations to shave a few microseconds >> off, consider using string % formatting rather than the format method. > > Why? I don't see any obvious difference between the two...
Possibly the state of the art has changed since then, but some years ago % formatting was slightly faster than the format method. Let's try it and see: # Using Python 3.3. py> from timeit import Timer py> setup = "a = 'spam'; b = 'ham'; c = 'eggs'" py> t1 = Timer("'%s, %s and %s for breakfast' % (a, b, c)", setup) py> t2 = Timer("'{}, {} and {} for breakfast'.format(a, b, c)", setup) py> print(min(t1.repeat())) 0.8319804421626031 py> print(min(t2.repeat())) 1.2395259491167963 Looks like the format method is about 50% slower. -- Steven -- http://mail.python.org/mailman/listinfo/python-list