字符串索引截取格式为变量[头下标:尾下标:步长]
变量即字符串名,头和尾指从那个字符开始到那个字符结束,步长指取的下一个字符为前一个字符后的第几个,如2即取前一个字符后的第二个字符,也就是中间隔一个字符
如
str = "hello_world!\n"
print('str = ' + str)#字符串连接用+
print('str[0:11] = '+str[0:11])
print('str[0:-1] = '+str[0:-1])
print('str[0:] = '+str[0:])
print('str[0] = '+str[0])
print('str[0::2] = '+str[0::2])
需要注意的是头尾下表分为从左到右和从右到左两种索引方式
从左到右以 0 开始,从右往左以 -1 开始(-1是倒数第二个,经测试空都为最后一个),其中转义符也计入个数,\n只记为一个字符。
以上代码结果为
str = hello_world!
str[0:11] = hello_world
str[0:-1] = hello_world!
str[0:] = hello_world!
str[0] = h
str[0::2] = hlowrd
注意str[0:-1]后没有空行,因为在!就结束了,后面的\n没有计入,而str[0:]全部计入,故有空行。
最后的str[0::2],实际上实现了只读取奇数位字符的功能(\n仍被计入),若要只读取偶数位秩序将头下标改为1即可。
用+和*实现多个字符串连接或复制
str = "hello_world!\n"
print('str = ' + str)#字符串连接用+
print(str * 2)
结果为
str = hello_world!
hello_world!
hello_world!
转义符
用\表转义,在字符串前加r表示取消转义
str = "hello_world!\n"
print('str = ' + str)#字符串连接用+
print(r'str = \v ' + str)
结果为
str = hello_world!
str = \v hello_world!
附常见转义(转自Python 转义字符逐个详解 - 知乎)
转义字符 | 描述 |
\ (在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\0 / \000 | 空字符(NULL) |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数 yy 代表的字符,例如, \o12 代表换行 |
\xyy | 十六进制数 yy 代表的字符,例如, \x0a 代表换行 |
\other | 其他字符以普通格式输出 |
\ddd | 1到3位八进制数所代表的的任意字符 |