*args в Python - это способ в функции обрабатывать произвольное количество аргументов. Эти аргументы передаются как кортеж, что позволяет функции принимать более гибкое количество аргументов. Есть функция hello, которая принимает список с именами, проходит по нему циклом и каждого приветствует. Работает.
Но что если мы не хотим записывать имена в список, а хотим сразу же подавать их в функцию в виде аргументов? Подадим имена в вызове функции через запятую и воспользуемся * для запаковки аргументов в кортеж. Запускаем. Как это сработало? При вызове функции hello оператор * дал команду на запаковку, собрал все переданные аргументы в кортеж и присвоил этот кортеж переменной args. Ну а дальше цикл начал итерироваться по полученному кортежу. Стоит отметить, что переменную, которая используется для запаковки принято называть args, сокращенно от arguments (аргументы). Если вы интересуетесь программированием, то напоминаю о нашем курсе по основам программирования Python [START]. В нем много а