字符串切片:
字符串的每个字符的下标,第一个字符从0开始,依次递增。
除了第一个字符,其他字符还有对应的负的下标,负的下标值参考下表。
下标-1的就是最后一个字符,可以把字符串再接一遍,这样下标就连续了。
给字符串命名为str1,str1=“0123456789”
原本的字符串 | - | - | - | - | - | - | - | - | - | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
接上后的字符串 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
下标 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
str1切片操作的语句是
str1[star:end+1: stride]
# str_name[star:end: stride]
# star是你想要切出来的那段字符的第一个字符的下标,正负都可以,下面一样
# end+1是想切出来的那段字符的最后一个字符的下标+1
# stride是你要切的字符是相隔多长的,即步长具体操作例子:
str1 = str('0123456789')
a1=str1[:]# 都不填就相当切了全部
print('a1 =',a1)
b1 = str1[:3]# star不填,从第一个字符开始切片
print('b1 =',b1)
c1 = str1[:3]# end不填,切片到最后一个字符
print('c1 =',c1)
d1 = str1[::3]# stride填正数,从star开始,到end为止,顺序输出下标间隔stride的字符
print('d1 =',d1)
e1=str1[3:0:-1]# stride填负数,则star开始,到end为止,逆序输出下标间隔stride的字符,star、end不填则直接从最后一个字符开始逆序输出
print('e1 =',e1)
f1 = str1[1:8:]# 普通例子
print('f1 =', f1)运行结果:

其他操作
str1 = "my name is huang!"
# 字符窜长度
a = str1.__len__()
print('a =', a)
# 改变大小写,返回字符窜
b = str1.capitalize() # 首字母大写
print('b =',b)
c = str1.upper() # 全部大写
print('c =',c)
# 指定字符窜,返回开下标
d = str1.find(' nn') # 从字符串中查找子串开始下标,没有则为-1
print('d =',d)
e = str1.index('my') # 与find类似但找不到子串时会抛出异常
print('e =',e)
# 检查字符串是否以指定的字符串开始或结尾,返回bool
f = str1.startswith('my')
print('f =',f)
g = str1.endswith(('huang'))
print('g=',g)
# 设置字符窜宽度并填充指定字符,宽度小于等于字符窜长度时,输出字符窜本身
h = str1.center(1, '*') # 字符窜居中,填充在两侧
print('h =',h)
i = str1.rjust(20, '*') # 字符窜居右,填充在左侧,小于str1长度时,输出str1本身
print('i=', )
j = str1.ljust(-5, '*')
print('j =',j)运行结果:

完整代码
def cut():
""""
字符串切片相关操作:
语句:str_name[star:end: stride]
形参说明:
star是你想要切出来的那段字符的第一个字符的下标,正负都可以(等价),下面一样
end+1是想切出来的那段字符的最后一个字符的下标+1
stride是你要切的字符是相隔多长的,即步长
定义操作的字符串str1
实参说明:
参数可以省略,但是第一个冒号不能省,第二个可以,
省略star则默认star=0,即从第一个字符开始切
省略star则默认star = len(str1)+1,即切到最后一个字符
省略stride则默认stride=1,必须为正整数,否则会报错
"""
str1 = str('0123456789')
a1 = str1[:] # 都不填就相当切了全部
print('a1 =', a1)
b1 = str1[:3] # star不填,从第一个字符开始切片
print('b1 =', b1)
c1 = str1[3:] # end不填,切片到最后一个字符
print('c1 =', c1)
d1 = str1[::3] # stride填正数,从star开始,到end为止,顺序输出下标间隔stride的字符
print('d1 =', d1)
e1 = str1[3:0:-1] # stride填负数,则star开始,到end为止,逆序输出下标间隔stride的字符
print('e1 =', e1)
f1 = str1[1:8:2] # 普通例子
print('f1 =', f1)
g1 = str1[1:-2:2] # 正负下标是等价的
print('g1 =', g1)
def other():
str1 = "my name is huang!"
# 字符窜长度a
a = str1.__len__()
print('a =', a)
# 改变大小写,返回字符窜
b = str1.capitalize() # 首字母大写
print('b =', b)
c = str1.upper() # 全部大写
print('c =', c)
# 指定字符窜,返回开下标
d = str1.find(' nn') # 从字符串中查找子串开始下标,没有则为-1
print('d =', d)
e = str1.index('my') # 与find类似但找不到子串时会抛出异常
print('e =', e)
# 检查字符串是否以指定的字符串开始或结尾,返回bool
f = str1.startswith('my')
print('f =', f)
g = str1.endswith(('huang'))
print('g=', g)
# 设置字符窜宽度并填充指定字符,宽度小于等于字符窜长度时,输出字符窜本身
h = str1.center(1, '*') # 字符窜居中,填充在两侧
print('h =', h)
i = str1.rjust(20, '*') # 字符窜居右,填充在左侧,小于str1长度时,输出str1本身
print('i=', )
j = str1.ljust(-5, '*')
print('j =', j)
def main():
cut()
other()
if __name__ == '__main__':
main()
















