В Python startswith и endswith позволяют определить начинается ли строка и заканчивается ли она искомой последовательностью символов.
Методы Python startswith и endswith
Потребуется интерпретатор 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.