如果myStr ='test',为什么myStr [4]会产生超出范围的错误,但myStr [4:]却没有?

3 python recursion

我正在使用递归来迭代字符串的值.当我越过最后一个字符时,它允许我将该索引位置用作空字符串""而不是给出错误.这是为什么?

myStr = 'test'
print(myStr[4])
Run Code Online (Sandbox Code Playgroud)

产生错误

print(myStr[4:]) 
Run Code Online (Sandbox Code Playgroud)

不会产生任何错误.

Tim*_*ois 5

切片不受内置类型的限制.如果数组索引超出范围,它将自动截断然后在正确的位置.