字符串
字符串可用单引号括起来,也可以用双引号括起来,这是没有什么区别的。
>>> str1 = 'hello word!' >>> str2 = "疯狂Python讲义" >>> print(str1 , str2) hello word! 疯狂Python讲义
如果字符串内容本身包含了单引号或双引号,此时要进行特殊处理。
- 使用不同的引号将字符串括起来
- 对引号进行转义
先看第一种处理方式。假如字符串内容中包含了单引号,则可以使用双引号将字符串括起来。
例如:str3 = 'I'm sorry'
由于上面字符串中包含了单个号,此时Python会将字符串中的单引号与第一个单引号配对,这样就会把“I”当成字符串,而后面的m sorry就当成了多余的内容,从而导至语法错误
>>> str3 = "I'm sorry" >>> print(str3) I'm sorry
>>> str4 = '"string is here, let us jam!", said woodchuck' >>> print(str4) "string is here, let us jam!", said woodchuck
第二种方式处理转义,Python允许使用反斜杆(\)将字符串中的特殊字符进行转义。
>>> str5 = '"we are scard, let\'s hide in the shade", says the bird' >>> print(str5) "we are scard, let's hide in the shade", says the bird
拼接字符串。
如果直接将两个字符串紧挨着写在一起,Python会自动拼接他们。
>>> s1 = "hello word," 'chares' >>> print(s1) hello word,chares
python用加号(+)作为字符串拼接运算符。
>>> s2 = "python" >>> s3 = "is found" >>> s4 = s2 + s3 >>> print(s4) pythonis found
repr和字符串
在时候需要字符串和数字拼接,而Python不允许直接拼接字符串和数字,程序必须先将数字转换为字符串。
>>> s1 = "这本书的价格是: " >>> s2 = 99.9 >>> print(s1 + s2) #直接拼接会报错 >>> print(s1 + str(s2)) #使用str()函数将数值转换成字符串 这本书的价格是: 99.9 >>> print(s1 + repr(s2)) #使用repr()函数将数值转换成字符串 这本书的价格是: 99.9
str()和repr()函数都可以把数值转换为字符串,其中str()本身是Python内置的类型(和int,float,一样),而repr()则只是一个函数。此外repr()还有另外一个功能,它会以Python表达式的形式来表示值,
>>> st = "I will play my fife" >>> print(st) I will play my fife >>> print(repr(st)) 'I will play my fife'
如果直接使用print()函数输出字符串,将只能看到字符串的内容,没有引号;但如果先使用repr()函数对字符串进行处理,然后再使用print()执行输出,将可以看到带引号的字符串,这就是字符串的Python表达式形式。