# Python String startswith: Проверка, начинается ли строка с подстроки

Метод `startswith` в Python используется для проверки, начинается ли строка с определенной подстроки. В этом руководстве **вы узнаете, как использовать функцию `startswith` в Python для проверки, начинается ли строка с одной или нескольких подстрок**. Умение проверять, начинается ли строка с другой строки, — это полезный способ проверки ввода пользователей, например, номеров телефонов или имен. Альтернативно, вы можете использовать метод `startswith`, чтобы проверить, заканчивается ли строка подстрокой

К концу этого урока вы узнаете:

* Как использовать функцию Python `startswith()`, чтобы проверить, начинается ли строка с подстроки
* Как использовать функцию Python `startswith()` функция с несколькими строками
* Как использовать функцию Python `startswith()` функция без учета регистра.
* Как использовать функцию Python `startswith()` функция  с списком строк

Оглавление

* [Понимание Python начинается с функции](#ponimanie-python-nachinaetsya-s-funkcii)
* [Использование Python начинается с проверки, начинается ли строка с подстроки](#ispolzovanie-python-nachinaetsya-s-proverki-nachinaetsya-li-stroka-s-podstroki)
* [Использование Python начинается с проверки того, начинается ли строка с нескольких подстрок](#ispolzovanie-python-nachinaetsya-s-proverki-togo-nachinaetsya-li-stroka-s-neskolkikh-podstrok)
* [Использование Python начинается с проверки того, начинается ли строка с подстроки, нечувствительной к регистру](#ispolzovanie-python-nachinaetsya-s-proverki-togo-nachinaetsya-li-stroka-s-podstroki-nechuvstvitelnoi)
* [Использование Python начинается с проверки, начинается ли список строк с подстроки](#ispolzovanie-python-nachinaetsya-s-proverki-nachinaetsya-li-spisok-strok-s-podstroki)
* [Использование Python начинается с проверки, не начинается ли строка с подстроки](#ispolzovanie-python-nachinaetsya-s-proverki-ne-nachinaetsya-li-stroka-s-podstroki)
* [Заключение](#zaklyuchenie)
* [Дополнительные ресурсы](#dopolnitelnye-resursy)

### Понимание Python начинается с функции

Прежде чем углубляться в использование функции Python `startswith()`, важно понять синтаксис этой функции. В представленном ниже коде разбираются различные обязательные и необязательные параметры, которые предлагает эта функция.

```python
# Understanding the Python startswith() Function
str.startswith(prefix, start, end)
```

Таблица ниже разбивает параметры функции, а также любые значения по умолчанию, которые предоставляет функция:

| Параметр  | Описание                                    | Аргумент по умолчанию | Принятые значения          |
| --------- | ------------------------------------------- | --------------------- | -------------------------- |
| `prefix=` | Префикс для проверки начала строки          | N/A                   | string or tuple of strings |
| `start=`  | Начальное положение для проверки в          | `None`                | integer                    |
| `end=`    | Прекратите сравнивать строки в этой позиции | `None`                | integer                    |

Теперь, когда у вас есть хорошее понимание функции, давайте начнем исследовать, как вы можете ее использовать.

### Использование Python начинается с проверки, начинается ли строка с подстроки

Функция `startswith()` в Python проверяет, начинается ли строка с подстроки и возвращает логическое значение. Функция вернёт `True`, если строка начинается с предоставленных подстрок, и `False` в противном случае. **Важно отметить, что функция чувствительна к регистру, поэтому использование строчных или заглавных букв требует внимательного подхода.**

Давайте рассмотрим пример:

```python
# Using Python startswith() to Check if a String Starts with a Substring
text = 'Welcome to datagy.io'

print('text starts with "W": ', text.startswith('W'))
print('text starts with "w": ', text.startswith('w'))

# Returns:
# text starts with "W":  True
# text starts with "w":  False
```

Из примера выше мы видим, что, когда проверяем, начинается ли строка с `'W'` и `'w'`, первое возвращает True, а второе — False.

Аналогично, мы можем использовать параметр `start=`, чтобы изменить начальную позицию проверки. Так как строки в Python индексируются с 0, мы можем использовать эти позиции индексов. Давайте начнем проверку, начинается ли вторая буква строки с символа `'e'`:

```python
# Modifying the Start Position of the startswith() Function
text = 'Welcome to datagy.io'
print(text.startswith('e', 1))

# Returns: True
```

Использование этого эквивалентно срезу строки до указанной начальной позиции. В приведенном выше примере это можно переписать как `text[1:].startswith('e')`. Однако использование параметра `start=` намного проще для чтения.

В следующем разделе вы узнаете, как проверить, начинается ли строка с нескольких различных подстрок.

### Использование Python начинается с проверки того, начинается ли строка с нескольких подстрок

Бывают моменты, когда нужно проверить, начинается ли строка с любого из набора подстрок. Это значит, что если вы ищете, скажем, определенный шаблон, вы можете проверить несколько вариантов.

Чтобы сделать это, вы можете просто передать кортеж строк в метод `.startswith()`. Это проверит, начинается ли строка с *какого-либо* из вариантов. Давайте посмотрим, как это выглядит на Python:

```python
# Checking if a String Starts With Multiple Different Substrings
text = 'Welcome to datagy.io'
print(text.startswith(('W', 'w')))

# Returns: True
```

В блоке кода выше мы передали кортеж, содержащий строчные и прописные буквы "w", в метод. Это позволяет проверить, начинается ли строка с одной из этих букв. В данном случае метод вернул true, указывая на то, что строка действительно начинается с одной из этих букв.

### Использование Python начинается с проверки того, начинается ли строка с подстроки, нечувствительной к регистру

В этом разделе вы узнаете, как использовать метод Python `.startswith()` для проверки, начинается ли строка с подстроки без учета регистра. По умолчанию метод чувствителен к регистру, и нет параметра для изменения этого поведения.

Из-за этого у нас есть два варианта использования метода `.startswith()` с учетом регистра:

1. Пройти через все варианты чувствительности к регистру
2. Преобразование строки в строчные буквы

Давайте рассмотрим первый вариант:

```python
# Checking if a String Starts With Substring Using Case Insensitivity
text = 'Welcome to datagy.io'
print(text.startswith(('W', 'w')))

# Returns: True
```

В приведенном выше блоке кода мы проверили, начинается ли строка с строчной или прописной буквы `'w'`, передав кортеж из двух букв. Этот метод работает, когда есть меньше [вариантов комбинаций](https://datagy.io/python-combinations-of-a-list/), но в противном случае он был бы исчерпывающим.

Или, мы можем представить строку в нижнем регистре и проверить наличие подстроки в нижнем регистре. Давайте посмотрим, как это выглядит:

```python
# Checking if a String Starts With Substring Using Case Insensitivity
text = 'Welcome to datagy.io'
print(text.lower().startswith(('w')))

# Returns: True
```

В коде выше мы сначала используем метод `.lower()`, чтобы представить строку в нижнем регистре. Затем мы можем использовать метод `.startswith()`, чтобы проверить, начинается ли строка с заданного шаблона без учета регистра.

### Использование Python начинается с проверки, начинается ли список строк с подстроки

В этом разделе вы узнаете, как использовать метод Python `.startswith()`, чтобы проверить, начинаются ли элементы в списке строк с подстроки. Это может быть полезно, когда вы хотите [итеративно просмотреть все строки в списке](https://datagy.io/iterate-through-list-in-python/), чтобы выяснить, начинаются ли они с подстроки. Для этого можно использовать генератор списков, [который позволяет упростить итерацию](https://datagy.io/list-comprehensions-in-python/)

```python
# Checking a List of Strings to Check if Strings Start With Substring
texts = ['welcome', 'to', 'datagy']
starts = [True if text.startswith('w') else False for text in texts]

print(starts)

# Returns: [True, False, False]
```

В приведенном выше блоке кода мы используем генератор списков, который проходит по списку строк. Генератор возвращает `True`, если строка начинается с указанной подстроки, и `False` в противном случае.

Если вы хотите проверить, начинается ли **какая-либо** из строк с подстроки, вы можете передать это генераторное выражение в функцию Python `any()`. Функция возвращает `True`, если любой из элементов в переданном массиве истинный. Давайте посмотрим, как это выглядит:

```python
# Checking a List of Strings to Check if Strings Start With Substring
texts = ['welcome', 'to', 'datagy']
starts = any([True if text.startswith('w') else False for text in texts])

print(starts)

# Returns: True
```

### Использование Python начинается с проверки, не начинается ли строка с подстроки

В этом последнем разделе вы узнаете, как использовать метод Python `startswith()`, чтобы **проверить, не начинается ли строка с определенной подстроки**. Это может быть особенно полезно, когда вы хотите убедиться, что строка не начинается с чего-то конкретного. Например, вы можете проверить, не принадлежит ли номер телефона к определенному коду региона.

```python
# Check if a String Doesn't Start with a Substring
text = 'Welcome to datagy.io'
print(not text.startswith(('W')))

# Returns: False
```

В приведенном выше коде перед вызовом метода `.startswith()` используется оператор `not`. Это возвращает противоположное логическое значение того, что возвращает метод. В приведённом примере мы проверяем, начинается ли строка с `'W'` (что так и есть). Однако, поскольку мы применяем `not`, программа возвращает `False`.

### Заключение

В этом посте вы узнали, как использовать метод Python `.startswith()` для проверки, начинается ли строка с определенной подстроки. Сначала вы узнали, как работает метод, изучив его параметры и аргументы по умолчанию. Затем вы узнали, как использовать метод для проверки, начинается ли строка с определенной подстроки, а также с нескольких различных подстрок.

Затем вы узнали, как проверять строки, начинающиеся с подстроки, с учётом регистра. В завершение вы проверили, начинаются ли строки в списке с данной подстроки и начинается ли строка с другой подстроки.

### Дополнительные ресурсы

Чтобы узнать больше о смежных темах, ознакомьтесь с приведёнными ниже уроками:

* Строка Python содержит: проверьте, содержит ли строка подстроку
* Python rfind: найти индекс последней подстроки в строке
* Python: найти индекс (или все) подстроки в строке
* [Python начинается с: Официальная документация](https://docs.python.org/3/library/stdtypes.html#str.startswith)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bemind.gitbook.io/neural/python/python-strings/python-string-startswith-proverka-nachinaetsya-li-stroka-s-podstroki.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
