字符串概述
字符串概述
Python 中处理文本数据使用 str 类型对象,也称为字符串。
type('abc')
str
字符串是由 Unicode 码位构成的不可变序列。每个字符的 Unicode 码位可由内建函数 ord() 查看:
ord('a'), ord('b'), ord('c')
(97, 98, 99)
内建函数 str() 可将其他类型对象转换为字符串:
str(3.14)
'3.14'
字符串有多种不同写法:
- 单引号标示
单引号标示法,如果字符串中有单引号,需要用 \'
表示:
'it\'s a book'
"it's a book"
- 双引号标示
双引号标示法,如果字符串中有双引号,需要用 \"
表示:
"it's a \"book\""
'it\'s a "book"'
- 三重引号标示
三重引号标示法,可以是三重单引号 '''
,也可以是三重双引号 """
,字符串中的单引号或双引号不受影响,但不能紧挨着:
# 注意最后四个双引号中有一个空格
'''it's a book''', \
"""it's a "book" """
("it's a book", 'it\'s a "book" ')
三重引号标示的字符串可以换行,自动以 \n
表示:
'''
it's a
book
'''
"\nit's a \nbook\n"
若不想引入 \n
,可以使用续航符 \
:
'''\
it's a \
book\
'''
"it's a book"
字符串可带前缀 u(或 U),r(或 R),f(或 F)。
u 表示 Unicode 编码字符串(默认,可省略);r 表示原始字符串,其中的反斜杠会被当作其本身来处理;f 表示格式化字符串字面值。r 和 f 可连用。
'a\nb{1+1}'
'a\nb{1+1}'
r'a\nb{1+1}'
'a\\nb{1+1}'
f'a\nb{1+1}'
'a\nb2'
rf'a\nb{1+1}'
'a\\nb2'
注意带前缀 b(或 B),表示字节串对象:
type(b'abc')
bytes
字符串是不可变序列,下列切片操作得到的是原来的字符串:
a = 'abc'
b = a[:]
a is b
True