Python字符转数字效率测试

Python中,字符串转为数字通常使用int,如:

i=int('123')+1

不过对于长度为1的字符串(可认为是其他语言中的字符char类型,python没有char类型),int函数的效率却不是最高的

from timeit import Timer, timeit



for i in enumerate(["ord(x)-48","int(x)","eval(x)"]):

    exec 'f%d=lambda x:%s'%(i)

print [Timer('f%d("5")'%(i),'from __main__ import f%d'%(i)).timeit() for i in range(3)]
#[0.18548629125382646, 0.661124223237397, 6.5696141945600415]

你可能感兴趣的:(python)