>>> timeit.timeit("for i in range(100): s = '%s' % (i,)", number=100000)
2.868873119354248
>>> timeit.timeit("for i in range(100): s = '%s' % i", number=100000)
2.615748882293701
>>> timeit.timeit("for i in range(100): s = str(i)", number=100000)
2.4016571044921875
>>> timeit.timeit("for i in range(100): s = i.__str__()", number=100000)
1.8993198871612549
python2.7:
>>> timeit.timeit("for i in xrange(100): s = '%s' % (i,)", number=100000)
1.9474480152130127
>>> timeit.timeit("for i in xrange(100): s = '%s' % i", number=100000)
1.6135330200195312
>>> timeit.timeit("for i in xrange(100): s = str(i)", number=100000)
2.009705066680908
>>> timeit.timeit("for i in xrange(100): s = i.__str__()", number=100000)
1.539802074432373
python3.2:
python2.7: