Python中的字符串串联与字符串替换

Python中的字符串串联与字符串替换,第1张

Python中的字符串串联与字符串替换

根据我的机器,连接的速度(明显)更快。但是从风格上讲,如果性能不是很关键,我愿意付出替代的代价。好吧,如果我需要格式化,就不用问这个问题了……别无选择,只能使用插值/模板化。

>>> import timeit>>> def so_q_sub(n):...  return "%s%s/%d" % (DOMAIN, QUESTIONS, n)...>>> so_q_sub(1000)'http://stackoverflow.com/questions/1000'>>> def so_q_cat(n):...  return DOMAIN + QUESTIONS + '/' + str(n)...>>> so_q_cat(1000)'http://stackoverflow.com/questions/1000'>>> t1 = timeit.Timer('so_q_sub(1000)','from __main__ import so_q_sub')>>> t2 = timeit.Timer('so_q_cat(1000)','from __main__ import so_q_cat')>>> t1.timeit(number=10000000)12.166618871951641>>> t2.timeit(number=10000000)5.7813972166853773>>> t1.timeit(number=1)1.103492206766532e-05>>> t2.timeit(number=1)8.5206360154188587e-06>>> def so_q_tmp(n):...  return "{d}{q}/{n}".format(d=DOMAIN,q=QUESTIONS,n=n)...>>> so_q_tmp(1000)'http://stackoverflow.com/questions/1000'>>> t3= timeit.Timer('so_q_tmp(1000)','from __main__ import so_q_tmp')>>> t3.timeit(number=10000000)14.564135316080637>>> def so_q_join(n):...  return ''.join([DOMAIN,QUESTIONS,'/',str(n)])...>>> so_q_join(1000)'http://stackoverflow.com/questions/1000'>>> t4= timeit.Timer('so_q_join(1000)','from __main__ import so_q_join')>>> t4.timeit(number=10000000)9.4431309007150048


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5644182.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存