Sobes.tech
Назад к вопросам
Senior
7

Что такое *args и **kwargs в Python?

Компании, где спрашивали
Лаборатория Касперского

Ответ от нейросети

sobes.tech AI

В Python *args и **kwargs используются для передачи переменного количества аргументов в функцию.

  • *args собирает позиционные аргументы в кортеж.
  • **kwargs собирает именованные аргументы в словарь.

Это позволяет писать функции, которые принимают любое количество аргументов.

Пример:

def func(*args, **kwargs):
    print('Позиционные аргументы:', args)
    print('Именованные аргументы:', kwargs)

func(1, 2, 3, a=4, b=5)

Вывод:

Позиционные аргументы: (1, 2, 3)
Именованные аргументы: {'a': 4, 'b': 5}

Это удобно для создания обобщённых интерфейсов, проксирования вызовов и расширения функционала без изменения сигнатуры функции.