python startswith

В 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.