Sobes.tech
Back to questions
Middle
9

Что такое *args и **kwargs? Как они работают?

Companies where asked
IT1

Answer from AI

sobes.tech AI

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

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

Пример:

def func(*args, **kwargs):
    print('args:', args)
    print('kwargs:', kwargs)

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

Вывод:

args: (1, 2, 3)
kwargs: {'a': 4, 'b': 5}

Это удобно, когда заранее неизвестно, сколько аргументов будет передано, или для оберток и декораторов.