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)