Частые грабли новичков в Python — на что часто натыкаюсь
Вот что чаще всего встречал у тех, кто только начал втыкать в Python:
1) Привычка писать код как на C или Java. Например, забывают про отступы, а в Python это не просто красота, а синтаксис. Отступы — это боль и красный флаг, если заглючило.
2) Не понимают разницу между списком и кортежем. Вроде похожи, а изменяемость совсем другая штука. Иногда из-за этого баги вылезают, когда пытаешься что-то поменять у "кортежа".
3) Жадно используют глобальные переменные без мысли о том, как это потом разбираться. Локальность переменных в функциях часто недооценивают.
4) Привыкли к нулевым индексам, забывают про диапазоны срезов и ломают голову, почему последний элемент не включается в [a:b].
5) Ошибаются с типами. Вот string пытаются сложить с int и ругается, но без понятного объяснения, почему.
6) Перемудрили с именами переменных—талды и бессмыслица вместо понятных названий. Прочитать такой код потом — пытка.
7) Забывают про важность читаемости. Пишут сложные однострочники из-за желания выглядеть круто, а потом сами же не могут понять, что сделали через месяц.
8) Не знают, что стандартная библиотека — это клад, который можно юзать вместо копипасты.
Проверять обычно начинаю с отладчика и print'ов, чтобы понять, где именно баг. Иногда помогает переписать проблемный кусок "по шагам" — и баг неувязка становится ясна.
Кто что еще подмечал у новичков? Какие грабли чаще всего мешают?