Срезы в Python. Не могу понять, что здесь не так

Не могу понять, что здесь не так. Есть строка:

s = "Hello World!"

В ней 12 символов, индексация идёт с 0. Чтобы получить первый индекс я пишу:

print(s[0])

По идее ведь, чтобы вывести через срез все символы в строке, я должен написать:

print(s[0:11])

Но Питон говорит нет! Правильный ответ:

print(s[0:12])

Как так, почему? Должна быть ошибка выхода за пределы O_o


Ответы (1 шт):

Автор решения: Qwertiy

Потому что правая граница невключительно, а значит 11 отрежет на 1 символ меньше.

→ Ссылка