每天三分钟,我们一起学python。在上一期python基本数据类型——数字中,我们学习了python的基本数据类型——数字,但是只有数字是远远不够的,我们还需要输出或者输入一些文字来进行表达,所以就需要用到字符串来进行记录实现了,今天我们就来学习另一种基本数据类型——字符串。
字符串书写形式
1.你可以使用单引号(’…… ‘)来指定字符串, 例如 ‘每天三分钟,一起学python’ 或 ‘Three minutes a day, we learn python together’ 。所有引号内的空间, 像空格与制表符, 都将按原样保留。需要注意的是:单引号引起来的可以内嵌”双引号”的字符串。
>>> 'Three minutes a day, we learn python together'
'Three minutes a day, we learn python together'
>>> 'Three minutes a "day", we learn python together' #单引号内嵌双引号
'Three minutes a "day", we learn python together'
2.使用双引号和使用单引号完全相同,例如”每天三分钟,一起学python”或 “Three minutes a day, we learn python together” 。需要注意的是:双引号引起来的可以内嵌’单引号’的字符串。
>>> "Three minutes a day, we learn python together"
'Three minutes a day, we learn python together'
>>> "Three minutes a 'day', we learn python together" #双引号内嵌单引号
"Three minutes a 'day', we learn python together"
3.可以使用三引号(”’……”’)来指定字符串,例如”’每天三分钟,一起学python”’或”’Three minutes a day, we learn python together”’。需要注意的是:三引号字符串可以分成多行来写,多行之间的空白(包括换行符、空格、Tab键)都是字符串的一部分。三引号引起来的可以内嵌单引号或者双引号字符串。
>>> '''Three minutes a day, we learn python together'''
'Three minutes a day, we learn python together'
>>> '''Three minutes a "day", we learn python together''' #三引号内嵌双引号
'Three minutes a "day", we learn python together'
>>> '''Three minutes a 'day', we learn python together''' #三引号内嵌单引号
"Three minutes a 'day', we learn python together"
字符串转义
在交互式解释器中,输出的字符串外面会加上引号,特殊字符会使用反斜杠来转义。虽然有时这看起来会与输入不一样(外面所加的引号可能会改变),但两个字符串是相同的。如果字符串中有单引号而没有双引号,该字符串外将加双引号来表示,否则就加单引号。 print() 函数会生成可读性更强的输出,即略去两边的引号,并且打印出经过转义的特殊字符:
>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'
>>> print('"Isn\'t," she said.')
"Isn't," she said.
>>> s = 'First line.\nSecond line.' # \n 意味着新行
>>> s # 不使用 print(), \n 包含在输出中
'First line.\nSecond line.'
>>> print(s) # 使用 print(), \n 输出一个新行
First line.
Second line.
如果你不希望前置了 \ 的字符转义成特殊字符,可以使用 原始字符串方式,在引号前添加 r 即可:
>>> print('C:\yhm\name') # 这里 \n 代表新的一行!
C:\yhm
ame
>>> print(r'C:\yhm\name') # 在引号前添加r,输出原始字符串
C:\yhm\name
在使用三引号时,换行符不需要转义,它们会包含在字符串中。下面的例子使用了一个转义符,避免在最开始产生一个不需要的空行。
>>> print("""
第一行,不使用转义符,前面有空行
第二行
第三行""")
第一行,不使用转义符,前面有空行
第二行
第三行
>>> print("""\
第一行,使用转义符,前面没有空行
第二行
第三行""")
第一行,使用转义符,前面没有空行
第二行
第三行
字符串操作
1.你可以用 + 将字符串进行连接(粘到一起),也可以用 * 进行重复。
>>> '有趣技术'+'交流分享'
'有趣技术交流分享'
>>> 3*'有趣技术'
'有趣技术有趣技术有趣技术'
2.相邻的两个或多个 字符串字面值(引号引起来的字符)将会自动连接到一起。
>>> '有趣技术''交流分享'
'有趣技术交流分享'
3.字符串是可以被索引(下标访问)的,第一个字符索引是 0。单个字符并没有特殊的类型,只是一个长度为一的字符串。
>>> word = '有趣技术交流分享'
>>> word[0]
'有'
>>> word[6]
'分'
4.索引也可以用负数,这种会从右边开始数,因为-0和0是相同的,所有负数索引是从-1开始的。
>>> word = '有趣技术交流分享'
>>> word[-1]
'享'
>>> word[-5]
'术'
5.除了索引,字符串还支持 切片。索引可以得到单个字符,而 切片可以获取子字符串。注意切片的开始总是被包括在结果中,而结束不被包括。
>>> word = '有趣技术交流分享'
>>> word[0:2]
'有趣'
>>> word[3:6]
'术交流'
切片的索引有默认值;省略开始索引时默认为 0,省略结束索引时默认为到字符串的结束。
>>> word = '有趣技术交流分享'
>>> word[:3]
'有趣技'
>>> word[3:]
'术交流分享'
>>> word[-3:]
'流分享'
需要注意,使用过大的索引会产生一个错误。
>>> word = '有趣技术交流分享'
>>> word[16]
Traceback (most recent call last):
File "<pyshell#66>", line 1, in <module>
word[16]
IndexError: string index out of range
但是,切片中的越界索引会被自动处理。
>>> word = '有趣技术交流分享'
>>> word[2:16]
'技术交流分享'
>>> word[16:]
''
6.还可以使用内置的函数len()来返回一个字符串的长度。
>>> word = '有趣技术交流分享'
>>> len(word)
8
以上就是今天给大家分享的内容了,如果大家喜欢我分享的内容,别忘了关注点赞评论转发哦!如果大家有什么问题可以在评论区留言,大家一起探讨交流。后期我会分享更多精彩内容,欢迎大家持续关注!