
Установка пакета из PyPI: пошаговый гайд для новичка
Как поставить пакет из PyPI командой pip install, проверить, что он встал, и разобрать пять типичных ошибок установки — от «pip не найден» до конфликта версий.

Как поставить пакет из PyPI командой pip install, проверить, что он встал, и разобрать пять типичных ошибок установки — от «pip не найден» до конфликта версий.

Знакомая пара строк в трейсбеке ломает запуск скрипта, который вчера работал. Разбираем, где Python ищет модули, почему поиск проваливается и как чинить каждую причину без гаданий.

Голый except: и except Exception глотают всё подряд — от опечатки в имени переменной до Ctrl+C. Разбираем, как ловить конкретные исключения и не прятать чужие ошибки.

Comprehension сжимает цикл с накоплением в одну строку. Но та же техника легко превращается в нечитаемое месиво. Разбираем, где выигрыш реальный, а где лучше оставить обычный for.

Пять готовых шаблонов на модуле re: e-mail, телефон, дата, поиск чисел и замена по маске. Копируете, запускаете, разбираетесь на живых примерах примерно за час.

С чего начать работу с базовыми типами Python 3.12: как ведут себя строки, числа, списки и словари, где новичок спотыкается и как проверить, что всё работает.

Наивный datetime без tzinfo, вычитание времени вокруг перехода на летнее время и сравнение aware с naive — три ошибки, которые ломают отчёты и графики задач. Разбираем, где именно и как чинить.

За полчаса научитесь открывать текстовые файлы, разбирать CSV и сохранять данные в JSON без сломанной кодировки и битых строк. Всё на стандартной библиотеке Python 3.12.

Изменяемый объект в значении по умолчанию накапливает данные между вызовами, а «возврат нескольких значений» на деле возвращает один кортеж. Разбираем, как аргументы работают на самом деле.

Проверка if not x кажется безобидной, но она срабатывает на пустом списке, нуле и пустой строке. Разбираем, где это ломает логику и как писать условия так, чтобы код делал то, что вы имели в виду.

Когда брать for, а когда while, чем платит range за читаемость и почему while True с break иногда честнее сложного условия. Разбираем на задачах, которые встречаются в реальном коде.

Разбираем, как правильно перебирать, сортировать и отсеивать элементы словаря в CPython 3.11–3.13: чем items() отличается от keys(), почему sorted() не меняет исходный dict и где генератор словаря выигрывает у цикла.