Eu não entendo cortar com limites negativos em Python. Como é que isso deveria funcionar?

Eu sou um novato no Python e encontrei o exemplo a seguir em meu livro que não é explicado muito bem. Aqui está minha impressão do intérprete:

>>> s = 'spam'
>>> s[:-1]
'spa'

Por que o fatiamento sem começo vinculado e um'-1' retornar todos os elementos, exceto o último? Está chamandos[0:-1] logicamente o mesmo que chamars[:-1]? Ambos retornam o mesmo resultado. Mas não tenho certeza do que o python está fazendo exatamente. Qualquer ajuda seria muito apreciada.

questionAnswers(6)

yourAnswerToTheQuestion