Напиши docstring в Google-стиле по сигнатуре функции. Верни только текст docstring вместе с тройными кавычками — без самой функции и без пояснений вокруг.
Сигнатура: [СИГНАТУРА: def merge_price_lists(paths: list[Path], currency: str = "RUB", drop_zero: bool = True) -> dict[str, Decimal]:]
Что делает: [ОПИСАНИЕ: читает CSV-прайсы поставщиков, приводит цены к одной валюте, возвращает соответствие артикул → цена; при повторе артикула берёт минимальную цену]
Что бросает: [ИСКЛЮЧЕНИЯ: FileNotFoundError, если пути не существует; ValueError, если в файле нет колонки article]
Разделы по порядку: строка-резюме, Args, Returns, Raises, Examples. В Args — все параметры сигнатуры, в том же порядке, со значением по умолчанию, названным словами. В Examples — один вызов в формате doctest вместе с выводом. Обычный текст: ни markdown, ни списков через дефис, ни ссылок.
Отсечка. Docstring описывает договор функции, а не её внутренности: не пересказывай алгоритм по шагам, не упоминай локальные переменные и вспомогательные функции, не объясняй, почему выбран такой подход. В Raises — только исключения из моего списка, даже если ты видишь другие вероятные. Резюме — до двенадцати слов, одной строкой.
Проверка. Сверь имена в Args с сигнатурой по буквам: лишних нет, пропущенных нет, порядок тот же. Сверь тип в Returns с аннотацией возврата — расходятся, значит прав файл, а не твоя формулировка. Прогони пример из Examples в уме и убедись, что написанный вывод получается именно из этого вызова; если функция читает файлы или зависит от курса и времени, покажи вызов с конкретными аргументами и коротким результатом из двух записей, а не многоточие и не выдуманную портянку.
Собрать под себя — поля заполнены рабочими значениями, меняйте их и промпт выше обновится сам
"""Подсчитывает уникальные значения в списке.
Args:
items: Список значений для подсчёта.
case_sensitive: Учитывать ли регистр строк. По умолчанию True.
Returns:
Словарь {значение: количество}, отсортированный по убыванию.
Raises:
TypeError: Если items не является итерируемым.
Examples:
>>> count_unique([1, 2, 2, 3])
{2: 2, 1: 1, 3: 1}
"""