Python字符串拼接(包含字符串拼接数字)

前面我们见过书写字符串的一种特殊方式,即直接将两个字符串紧挨着写在一起,这样的话 Python 就会自动拼接它们,比如说:
s1 = "Hello,"'Charlie'
print(s1)
上面代码将会输出:

Hello,Charlie


其实,这种写法只是书写字符串的一种特殊方法,并不能算是真正意义上的拼接字符串。Python 使用加号(+)作为字符串的拼接运算符,例如如下代码:
s2 = "Python "
s3 = "iS Funny"
#使用+拼接字符串
s4 = s2 + s3
print(s4)

Python字符串拼接数字

除此之外,在某些特殊场景中,我们需要将字符串与数字进行拼接,而 Python 不允许直接拼接数字和字符串,程序必须先将数字转换成字符串。

为了将数字转换成字符串,可以使用 str() 或 repr() 函数,例如如下代码:
s1 = "这是数字: "
p = 99.8
#字符串直接拼接数值,程序报错
print(s1 + p)
#使用str()将数值转换成字符串
print(s1 + str(p))
#使用repr()将数值转换成字符串
print(s1 + repr(p))
上面程序中直接拼接字符串和数值,程序会报错。

str() 和 repr() 函数都可以将数字转换成字符串,其中 str 是 Python 内置的类型(和 int、float 一样),而 repr() 则只是一个函数。此外,repr 还有一个功能,它会以 Python 表达式的形式来表示值。对比如下代码:
st = "I will play my fife"
print (st)
print(repr(st))
上面代码中,st 本身就是一个字符串,但程序依然使用了 repr() 对字符串进行转换。运行上面程序,可以看到如下输出结果:

I will play my fife
'I will play my fife'

通过上面的输出结果可以看出,如果直接使用 print() 函数输出字符串,将只能看到字符串的内容,没有引号;但如果先使用 repr() 函数对字符串进行处理,然后再使用 print() 执行输出,将可以看到带引号的字符串,这就是 Python 字符串的表达式形式。

在交互式解释器中输入一个变量(或表达式)时,Python 会自动使用 repr() 函数处理该变量(或表达式)。