Мне нужно передать огромную list/tuple функцию через *args.
def f(*args): # defined in foreign module
pass
arguments = tuple(range(10000))
f(*arguments)
И мне интересно, что происходит при вызове функции.
Поддерживает ли он arguments аналогичную любую позиционную переменную: сохранить ее и получить доступ по требованию во время выполнения тела? Или он выполняет итерацию через arguments еще до выполнения тела, расширяя позиционные аргументы? Или это что-то еще?