← Назад к вопросам

Что такое строка в Python?

1.6 Junior🔥 141 комментариев
#Python Core

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Строка в Python — Объект для хранения текста

Строка (string) — это неизменяемый объект, который хранит последовательность символов (текст). Строки являются одним из основных типов данных в Python.

Создание строк

# Одиночные кавычки
s1 = 'Привет'

# Двойные кавычки
s2 = "Hello"

# Тройные кавычки (многострочные)
s3 = '''Это
многострочная
строка'''

s4 = """Это тоже
многострочная
строка"""

# Пустая строка
s5 = ''

# Строка от числа
s6 = str(42)  # '42'
s7 = str(3.14)  # '3.14'

Основные свойства строк

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

Однажды созданная строка не может быть изменена:

s = 'Hello'
print(s[0])  # 'H'

# ❌ Ошибка: строки неизменяемы
s[0] = 'J'  # TypeError: 'str' object does not support item assignment

# ✅ Нужно создать новую строку
s = 'J' + s[1:]  # 'Jello'

2. Индексирование

s = 'Python'
print(s[0])   # 'P' (первый символ)
print(s[2])   # 't' (третий символ)
print(s[-1])  # 'n' (последний символ)
print(s[-2])  # 'o' (второй с конца)

3. Срезы (Slicing)

s = 'Python'
print(s[0:2])   # 'Py' (с индекса 0 до 2, не включая 2)
print(s[2:])    # 'thon' (со 2-го символа до конца)
print(s[:4])    # 'Pyth' (от начала до 4-го, не включая)
print(s[::-1])  # 'nohtyP' (в обратном порядке)
print(s[::2])   # 'Pto' (каждый второй символ)

4. Длина

s = 'Hello'
print(len(s))  # 5
print(len(''))  # 0

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

s = '  Hello World  '

# Регистр
print(s.upper())        # '  HELLO WORLD  '
print(s.lower())        # '  hello world  '
print(s.capitalize())   # '  hello world  ' (Первая буква большая)
print(s.title())        # '  Hello World  ' (Каждое слово с большой)

# Удаление пробелов
print(s.strip())        # 'Hello World' (удаляет пробелы с начала и конца)
print(s.lstrip())       # 'Hello World  ' (слева)
print(s.rstrip())       # '  Hello World' (справа)

# Поиск и замена
print(s.find('World'))          # 8 (индекс подстроки)
print(s.replace('World', 'Python'))  # '  Hello Python  '
print(s.startswith('  '))       # True
print(s.endswith('  '))         # True

# Разделение и объединение
parts = s.split()               # ['Hello', 'World']
joined = '-'.join(['a', 'b', 'c'])  # 'a-b-c'

# Проверка содержимого
print('World' in s)             # True
print(s.isdigit())              # False
print(s.isalpha())              # False (есть пробелы)
print('123'.isdigit())          # True

Форматирование строк

1. Старый способ (%)

name = 'Alice'
age = 30
print('Мне зовут %s и мне %d лет' % (name, age))

2. Способ .format()

print('Имя: {0}, Возраст: {1}'.format('Bob', 25))
print('Имя: {name}, Возраст: {age}'.format(name='Charlie', age=35))

3. f-строки (современный способ)

name = 'Diana'
age = 28
print(f'Имя: {name}, Возраст: {age}')  # Имя: Diana, Возраст: 28

# С выражениями
print(f'Два плюс два = {2 + 2}')  # Два плюс два = 4
print(f'{name.upper()}{age * 2} лет')

# Форматирование
pi = 3.14159
print(f'Pi = {pi:.2f}')  # Pi = 3.14

Работа с специальными символами

# Экранирование
s = 'Он сказал: "Привет"'  # Он сказал: "Привет"
s = "It's okay"  # It's okay

# Специальные символы
s = 'Первая строка\nВторая строка'  # \n — новая строка
s = 'Колонка1\tКолонка2'  # \t — табуляция
s = 'Слеш: \\'  # \\ — обратный слеш

print(s)  # Печатает красиво

# Raw строки (r-префикс)
path = r'C:\Users\Name\file.txt'  # Без экранирования
regex = r'\d+\s*[a-z]+'  # Для regex

Типичные операции

# Проверка пустоты
if not s or s.strip() == '':
    print('Строка пуста')

# Удаление пробелов и переводов строк
text = '  Hello  \n  World  '
clean = ' '.join(text.split())
print(clean)  # 'Hello World'

# Подсчёт символов
text = 'abracadabra'
print(text.count('a'))  # 5

# Проверка подстроки
if 'Python' in 'I love Python':
    print('Найдена!')

# Построение строки
result = ', '.join(['apple', 'banana', 'cherry'])
print(result)  # 'apple, banana, cherry'

На интервью

Ответи так:

"Строка в Python — это неизменяемый объект, который хранит последовательность символов. Главное свойство — неизменяемость: если нужно изменить строку, создаётся новая. Строки поддерживают индексирование, срезы, множество методов (upper, lower, split, replace). Я обычно использую f-строки для форматирования, так как это самый читаемый и быстрый способ."

Что такое строка в Python? | PrepBro