В Python startswith и endswith позволяют определить начинается ли строка и заканчивается ли она искомой последовательностью символов.
Методы startswith и endswith в python
Потребуется интерпретатор python3
python3
Зададим произвольную переменную с любым текстовым содержимым
text = "Some not very long string"
Данные методы можно использовать только с объектами типа 'строка'.
>> print (type(text))
<class 'str'>
startswith проверяет вхождение с начала — любая последовательность с пробелами
>>> text.startswith("S")
True
В результате всегда получается булево значение: True или False
> text.startswith("Some")
True
>> text.startswith("Some not")
True
> text.startswith("Some azaza")
False
Регист имеет значение
> text.startswith("s")
False
> text.endswith("ing")
True
Таким же образом работает другой метод — endswith, он проверяет чем оканчивается строка и выдает True или False
>>> text.endswith(" string")
True
>> text.endswith("not this time")
False
Операция извлечения среза как альтернатива
Из любой строки можно выбрать указанное количество символов по индексу, в том числе с начала или с конца. Извлекая срез строки можно добиваться, того же результата, что дает startswith и endswith.
Однако, на практике применять этот подход менее удобно поскольку выражение получается не таким наглядным наглядными
> text[:len("Some not very long string")] == "Some not very long string"
True
>>> text[:len("Some not very long string")] == "Some not very long"
False
Извлечение среза создает новый объект, это более ресурсозатратная операция и при больших объемах данных производительность будет снижаться.
Специальные методы startswith и endswith использовать в большинстве случаев лучше, чем добиваться того, что они делают через извлечение среза.
Читайте про метод replace в Python.