Статья Автор: Деникина Н.В., Деникин А.В.

Python. Введение в строки

1. Индексация строк

В Python строки являются последовательностями символов, и каждый символ имеет свой индекс (позицию).

Особенности индексации:

  • Индексация начинается с 0 (первый символ имеет индекс 0).

  • Можно использовать отрицательные индексы (отсчёт с конца):

    • -1 — последний символ,

    • -2 — предпоследний и т. д.

Пример:
text = "Python"
print(text[0])   # 'P' (первый символ)
print(text[3])   # 'h' (четвёртый символ)
print(text[-1])  # 'n' (последний символ)
print(text[-2])  # 'o' (предпоследний символ)

Ошибка при выходе за границы

Если обратиться к несуществующему индексу, возникнет ошибка IndexError:

text = "Hello"
print(text[10])  # ❌ IndexError: string index out of range

2. Срезы (slicing)

Срезы позволяют извлекать подстроки по диапазону индексов.

Синтаксис:

строка[начало:конец:шаг]
  • начало — индекс начала (включительно). Если не указан, срез начинается с 0.

  • конец — индекс конца (не включается). Если не указан, срез идёт до конца строки.

  • шаг — через сколько символов брать (по умолчанию 1).

Примеры:
text = "Программирование"

# Базовые срезы
print(text[2:7])      # 'ограм' (символы 2-6)
print(text[:5])       # 'Прогр' (с начала до 4)
print(text[5:])       # 'аммирование' (с 5 до конца)
print(text[-5:])      # 'ание' (последние 5 символов)

# Срезы с шагом
print(text[::2])      # 'Пормиоаие' (каждый второй символ)
print(text[::-1])     # 'еиневимармаргорП' (разворот строки)

Особые случаи:

text = "ABCDEF"
print(text[1:100])    # 'BCDEF' (конец автоматически ограничен длиной строки)
print(text[100:])     # '' (пустая строка, если начало за пределами)

3. Метод count() — подсчёт вхождений подстроки

Метод count() возвращает количество вхождений подстроки в строку.

Синтаксис:

строка.count(подстрока, [начало], [конец])
  • подстрока — что ищем.

  • начало и конец (необязательные) — диапазон поиска.

Примеры:
text = "банан"

print(text.count("а"))    # 2 (две буквы 'а')
print(text.count("ан"))   # 1 (одно вхождение 'ан')
print(text.count("н", 3)) # 1 (ищем 'н' начиная с индекса 3)

# Поиск в части строки
sentence = "Я люблю Python и Python люблю меня"
print(sentence.count("люблю", 0, 10))  # 1 (ищем в первых 10 символах)

Важно:

  • Регистр имеет значение:

    print("Hello".count("h"))  # 0 (ищет строчную 'h')
  • Если подстрока не найдена, возвращает 0:

    print("abc".count("z"))  # 0
Печать