Привет! Сочетание *args и **kwargs в коде видел каждый начинающий python-разработчик, но не все понимают значение этих конструкций. В этой статье постараюсь объяснить простыми словами, как работает распаковка и запаковка значений в python. В Python можно присвоить несколько значений сразу нескольким переменным: Но как поступить, если переменных меньше, чем значений? И если мы хотим "не поместившиеся" данные объединить в список? В этом случае на помощь приходит "запаковка". Можно выбрать первый, последний и "середину": Позиционные аргументы — это аргументы, которые передаются в функцию в определенном порядке. Аргументы, которые передаются с именами, называются именованными. Пример 1. В данном примере параметр *args собирает все позиционные аргументы в кортеж. В вызове fun(1, 2, 3, a=4, b=5) числа 1, 2, 3 попадают в args. Параметр **kwargs cобирает все именованные аргументы (с указанием имени) в словарь. В вызове a=4 и b=5 попадают в kwargs. Пример 2. Когда аргументов много, их удобн
*args и **kwargs в Python. Распаковка и запаковка значений
23 мая 202523 мая 2025
3
1 мин