Python字符串拼接的三种方式

1. 对比Python字符串与整数拼接的三种方式的执行效率

对于一个整形 i=5 和 字符串 "Hello",如果要将其拼接成新字符串,可以有如下三种方式:

  • "Hello" + str(i)
  • "Hello%d" % i
  • "Hello{}".format(i)
    拼接三种方式
    通常我喜欢用第一种,但后来看别人写的代码,发现大佬基本都喜欢用第二种,于是我测试了这三种的执行效率,如下:
import time
def useStr():
	start_time = time.time()
	for i in range(50000):
		new_str = "Hello" + str(i)
	return (time.time()-start_time)

def usePercent():
	start_time = time.time()
	for i in range(50000):
		new_str = "Hello%d" % i
	return (time.time()-start_time)

def useFormat():
	start_time = time.time()
	for i in range(50000):
		new_str = "Hello{}".format(i)
	return (time.time()-start_time)

分别执行这三个函数,结果如下:
执行结果
可以看出,usePercent > useStr > useFormat
所以,当遇到字符串与整数、浮点数等拼接的时候,使用第二种方式,如:
"result: %d, %f" % (12, 0.35)

2. 当字符串使用format函数时带花括号/大括号

如果字符串中想插入变量,则可使用format函数,如:
print("姓名:{name}, 学号:{id}".format(name="Kevin", id="123"))
在这里插入图片描述
但当字符串中原本就有花括号时,如:
print("if ({score} > 60) { print('及格'); }".format(score=80)),这样写会报错,使用转译符号是无效的(如\{),这是需要两个大括号,即:print("if ({score} > 60) {{ print('及格'); }}".format(score=80))
在这里插入图片描述


版权声明:本文为xkKevin原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。