Python中的字符串
前面我们了解到什么是字符串。字符串可以用’ '或者" "括起来表示。今天我们需要了解一下假如字符串中本身含有’和"时我们该怎么表示。
1.表示字符串
- 当字符串中含有
'
时:
I'm OK
,这时,可以用" "
括起来表示:"I'm OK"
类似的,如果字符串包含"
,我们就可以用' '
括起来表示: - 当字符串中含有"时:
Learn "Python" by myself
,这时,我们可以用’ '把它括起来表示:'Learn "Python" by myself'
- 如果字符串既包含
'
又包含"
怎么办?这个时候,就需要对字符串的某些特殊字符进行“转义”,Python字符串用\
进行转义。
例如:要表示字符串Bob said "I'm OK"
,由于'
和"
会引起歧义,因此,我们在它前面插入一个\
表示这是一个普通字符,不代表字符串的起始,因此,这个字符串又可以表示为:'Bob said \"I\'m OK\".'
,注意:转义字符 \ 不计入字符串的内容中。 - 常用的转义字符还有:
符号 表示意义 \n 表示换行 \t 表示一个制表符 \\ 表示 \ 字符本身
2.raw字符串
- 如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义了。通常有两种表示法:
r'...'
或者r"..."
,例如:>>> print r"I'm OK"
>>> print r'He said"he loves her"'
但是r'...'
或者r"..."
表示法不能表示多行字符串,也不能表示同时包含'和 "的字符串
。
3.多行字符串
要表示多行字符串,可以用'''...'''
表示:
'''111
222
333'''
上面这个字符串的表示方法和下面的是完全一样的:
'111\n222\n333'
4.r’’’…’’'raw的多行字符串
在多行字符串前面添加前缀 r ,即:r'''...'''
,把这个多行字符串也变成一个raw字符串:
r'''I'm very goog."God" is not good.'''
r'''I'm very goog.
"God" is not good.'''
把raw和多行字符串结合使用就可以不用转义字符来完成特殊字符的转义了。