Комментарии (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-строки для форматирования, так как это самый читаемый и быстрый способ."