Объясните функцию Python3

def between_markers(text: str, begin: str, end: str) -> str:
    return text[text.index(begin) + 1:text.index(end)]

Объясните как реализовали эту функию. Знаю для чего она, но не понимаю ничего после return.


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

Автор решения: S. Nick
>>> def between_markers(text: str, begin: str, end: str) -> str:
    return text[text.index(begin) + 1:text.index(end)]

>>> new_text = between_markers('01234567', '3', '5')
>>> print(new_text)
4
>>> new_text = between_markers('01234567', '0', '5')
>>> print(new_text)
1234

>>> new_text = between_markers('hello world.', ' ', '.')
>>> print(new_text)
world
→ Ссылка
Автор решения: CrazyElf
return text[text.index(begin) + 1:text.index(end)]

Можно расписать так:

a = text.index(begin) + 1
b = text.index(end)
return text[a:b]
  1. Ищем в переменной text позицию символа из переменной begin
  2. Ищем в переменной text позицию символа из переменной end
  3. Возвращаем срез (подстроку) переменной text от символа, следующего за символом из переменной begin, до символа, предшествующего символу из переменной end.
→ Ссылка