🐛 Типичные ошибки

⚡ Топ ошибок

  • Пытаться изменить строку по индексу: строки неизменяемы.
  • Забыть присвоить результат метода новой переменной.
  • Путать find() и index().
  • Использовать split(" ") вместо split().
  • Забывать префикс f у f-strings.

❌ Ошибка 1: попытка изменить строку по индексу

text = "hello"
text[0] = "H"
# TypeError: 'str' object does not support item assignment

Почему возникает: строки в Python неизменяемы.

✅ Исправление

text = "hello"
new_text = "H" + text[1:]
print(new_text)

❌ Ошибка 2: не сохранён результат метода

text = "  hello  "
text.strip()
print(f"[{text}]")  # [  hello  ]

Почему возникает: метод strip() возвращает новую строку.

✅ Исправление

text = "  hello  "
text = text.strip()
print(f"[{text}]")

❌ Ошибка 3: путаем find() и index()

text = "hello world"
pos = text.index("Python")
# ValueError: substring not found

Почему возникает: index() вызывает исключение, если подстрока не найдена.

✅ Исправление

text = "hello world"
pos = text.find("Python")
if pos == -1:
    print("Не найдено")
else:
    print(f"Найдено на позиции {pos}")

❌ Ошибка 4: split() против split(" ")

text = "a  b\tc"
print(text.split(" "))
# ['a', '', '', 'b\tc']

Почему возникает: split(" ") разбивает только по одному пробелу.

✅ Исправление

text = "a  b\tc"
print(text.split())  # ['a', 'b', 'c']

❌ Ошибка 5: забытый префикс f

name = "Alice"
print("My name is {name}")  # My name is {name}

Почему возникает: без префикса f фигурные скобки не интерполируются.

✅ Исправление

print(f"My name is {name}")