Строки и их методы

1. Что такое строка

  • Строка (str) — это неизменяемая последовательность символов.

  • Можно создавать с помощью одинарных '...', двойных "...", либо тройных кавычек '''...''' / """...""" для многострочного текста.

s1 = "Hello"
s2 = 'World'
s3 = """Многострочный
текст"""

2. Основные методы строк

Метод
Описание
Пример

str.upper()

Преобразует в верхний регистр

"hello".upper()"HELLO"

str.lower()

Преобразует в нижний регистр

"HELLO".lower()"hello"

str.title()

Заглавная буква у каждого слова

"hello world".title()"Hello World"

str.capitalize()

Заглавная буква у первого слова

"hello world".capitalize()"Hello world"

str.strip()

Убирает пробелы или символы с начала и конца

" text ".strip()"text"

str.lstrip() / str.rstrip()

Убирает пробелы слева/справа

" text".lstrip()"text"

str.replace(old, new)

Замена подстроки

"foo".replace("f","b")"boo"

str.split(sep=None)

Разделяет строку на список

"a,b,c".split(",")['a','b','c']

str.join(iterable)

Объединяет элементы списка

",".join(['a','b','c'])"a,b,c"

str.startswith(prefix)

Проверка начала строки

"hello".startswith("he")True

str.endswith(suffix)

Проверка окончания строки

"hello".endswith("lo")True

str.find(sub)

Индекс подстроки или -1

"hello".find("l")2

str.count(sub)

Количество вхождений

"hello".count("l")2

str.isdigit()

Все символы цифры

"123".isdigit()True

str.isalpha()

Все символы буквы

"abc".isalpha()True

str.isalnum()

Все символы буквы или цифры

"abc123".isalnum()True


3. Особенности строк

  1. Неизменяемость

    • Любая операция возвращает новый объект, оригинал не меняется.

s = "hello"
s.upper()  # "HELLO", но s всё ещё "hello"
  1. Индексация и срезы

s = "hello"
print(s[0])   # 'h'
print(s[-1])  # 'o'
print(s[1:4]) # 'ell'
  1. Поддержка логических операций

  • in / not in:

"he" in "hello"  # True

4. Применение в автотестах

  • Проверка текста в API или UI

response = "Success: user created"
assert "Success" in response
  • Обработка данных и логов

line = "  ERROR: Invalid input  "
assert line.strip().startswith("ERROR")
  • Разделение и объединение данных

csv = "a,b,c"
fields = csv.split(",")
assert ",".join(fields) == csv
  • Валидация формата

username = "Alice123"
assert username.isalnum()  # только буквы и цифры

💡 Вывод:

  • Строки — неизменяемые последовательности символов, поддерживают методы для изменения регистра, поиска, замены, разбиения и объединения.

  • Очень полезны для обработки текста, логов, данных API и проверок UI в автотестах.

Last updated

Was this helpful?