在Python中,我不知道在何时何地使用字符串连接和字符串替换。由于字符串连接在性能上有了很大的提高,这是(变得更)一种文体决定,而不是一种实用的决定?
对于一个具体的例子,应该如何处理柔性uri的构造:
DOMAIN = 'http://stackoverflow.com'
QUESTIONS = '/questions'
def so_question_uri_sub(q_num):
return "%s%s/%d" % (DOMAIN, QUESTIONS, q_num)
def so_question_uri_cat(q_num):
return DOMAIN + QUESTIONS + '/' + str(q_num)
编辑:还有一些关于加入字符串列表和使用命名替换的建议。这些都是中心主题的变体,也就是说,哪种方式是正确的,在什么时候做?谢谢你的回复!
不要忘记命名替换:
小心在循环中连接字符串!字符串连接的成本与结果的长度成正比。循环引导你直达N平方的土地。有些语言会优化到最近分配的字符串的连接,但是指望编译器将二次算法优化到线性是有风险的。最好使用原语(
join
?)它接受一个完整的字符串列表,进行一次分配,并一次性将它们连接起来。根据我的机器,连接速度(明显)更快。但从风格上讲,如果表演不重要,我愿意付出替换的代价。好吧,如果我需要格式化,甚至不需要问这个问题。。。除了使用插值/模板之外别无选择。
相关问题 更多 >
编程相关推荐