python中是使用[]来截取字符串的。
语法:字符串[起始位置:结束位置:步长]
步长默认为1,可省略。不可为0.
注意:根据下标取字符时,下标不能超出索引
截取字符串时,包含头部但是不包含尾部,即不包含 结束位置 那个字符串
结束位置大于字符串实际长度不影响切片结果
从左到右原则:必须遵守从左到右的原则
例子(步长省略):
astr = 'hello world'
print(astr[1]) #输入e
print(astr[0:4]) #输出hell 因为下标4的是o,但是截取字符串不包含结尾,所以o不取出
print(astr[:]) #输出hello world 这个是字符串从头到尾全部取出
print(astr[1:]) #输出ello world 从下标1开始,取到字符串结尾
print(astr[0:10000]) #输出hello world 结尾部分超过索引,不影响取出
print(astr[-1]) #输出d 取字符串最后一位
print(astr[-5:-1]) #输出worl
print(astr[-1:-5]) #无输出 要遵循从左到右的规则
列子(带步长):
astr = 'abcdefghijklmnopqrstuvwsyz'
print(astr[0:10:1]) #abcdefghij 从左到右取出下标0~9的字符串
print(astr[0:10:2]) #acegi 步长是2 所以每两位取一个字符,即取下标为 0 3 5 6 8
print(astr[-20:-10:1]) #输出ghijklmnop
print(astr[-10:-20:-1]) #输出qponmlkjih 步长为负数表示反方向,即从右向左切,根据倒叙下标,-10 ~ -20 此时右边是开头,左边是结尾,所以取小标-10 ~ -19的
print(astr[-10:-20:-2]) #输出qomki