Python, объясните смысл *args и **kwargs

Какой смысл этих параметров, если первый по сути передает list, второй dict? в чем преимущество использования *args и **kwargs?

Пример, где передача *args и list имеют один и тот же смысл и размер кода

arg

def test_arg(student, *scores):
       print(f"Student Name: {student}")
       for score in scores:
          print(score)

test_arg("Jonathan",100, 95, 88, 92, 99)

list

def test_list(student, scores):
       print(f"Student Name: {student}")
       for score in scores:
          print(score)

listt = [100, 95, 88, 92, 99]
test_list("Jonathan", listt)

Ответы (0 шт):