Какая была самая большая ошибка
Python
Middle
Без компании
Какая была самая большая ошибка
Ответы
Одна из самых распространённых и критичных ошибок — неправильное управление памятью при работе с большими данными или циклами. Например, загрузка всего файла в память вместо потоковой обработки:
```
# Плохо: загружает весь файл в память
with open('huge_file.txt', 'r') as f:
data = f.readlines() # Упадет на больших файлах
# Лучше: обрабатывает построчно
with open('huge_file.txt', 'r') as f:
for line in f:
process(line)
```
Другая частая ошибка — мутация списка во время итерации по нему, что приводит к неожиданному поведению:
```
items = [1, 2, 3, 4]
for item in items:
if item % 2 == 0:
items.remove(item) # Опасное изменение списка в цикле!
```
Решение — итерировать по копии или использовать list comprehension:
```
items = [x for x in items if x % 2 != 0]
```
Также ошибки часто возникают из-за неправильного использования mutable default arguments:
```
def foo(x=[]): # Все вызовы foo() без аргументов будут использовать один и тот же список!
x.append(1)
return x
```
Исправленный вариант:
```
def foo(x=None):
x = x or []
x.append(1)
return x
```