
Форматирование чисел в Python: частые ошибки
Почему round(2.675, 2) выдаёт 2.67, откуда берутся 0.1 + 0.2 = 0.30000000000000004 и как форматировать деньги без сюрпризов в Python 3.x.

Почему round(2.675, 2) выдаёт 2.67, откуда берутся 0.1 + 0.2 = 0.30000000000000004 и как форматировать деньги без сюрпризов в Python 3.x.

За 20 минут научитесь останавливать скрипт в нужной точке, смотреть значения переменных и проходить код по шагам без единого print. Используем встроенный отладчик pdb — ничего ставить не нужно.

Разбираем, как поставить пакет в Python так, чтобы он не сломал систему и не конфликтовал с соседним проектом: виртуальное окружение, pip и типичные ошибки новичка.

Разбираемся, почему Python не видит ваш файл, чем import отличается from-import и как не поймать циклический импорт в первый же день.

Как перестать склеивать пути строками и перейти на pathlib. Разберём чтение, запись, обход папок и типичные ошибки на Python 3.10+.

Разбираем, как записать текст в файл на Python 3.x: контекстный менеджер, режимы открытия, кодировка. К концу вы сохраните данные в файл и не потеряете их из-за забытого close().

Разбор модуля json из стандартной библиотеки: как прочитать файл и строку, чем json.load отличается от json.loads, как ловить ошибки разбора и работать с числами и кодировкой.

Мутирующий sort() вместо sorted(), сравнение строк с числами, нестабильная логика ключей и падение производительности на больших списках — разбираем ошибки, которые ломают код на проде.

За полчаса вы научитесь разбирать, склеивать, форматировать и очищать строки в Python 3.12 — с рабочими примерами, которые можно скопировать и запустить.

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

Разбираемся, чем позиционные аргументы отличаются от именованных, зачем нужны *args и **kwargs и почему изменяемое значение по умолчанию однажды подложит вам баг.

За полчаса разберётесь, как создавать словари, доставать значения без ошибок KeyError, перебирать пары ключ-значение и объединять словари. Всё на Python 3.10 и новее.