в функцию.
Есть функия, которая требует длинный список аргументов
dull_function(arg1, arg2, arg3,.. argN)
я хочу присвоить сделать переменую со всеми этими аргуметами и вызывать функцию с одним аргументом типа такого:
dull_args = (arg1, arg2, arg3,.. argN)
dull_function(dull_args)
подскажите, как это сделать?
dull_function(*dull_args) ?
А, точно unpack
Да, спасибо. Точно.
На всякий случай, если аргументы не однородные и это не делегирование, то с большой вероятностью при создании этой функции что-то пошло не так.
Это однородные аргументы. В моем случае это вот такой код: simple_border = [ curses.ACS_VLINE, curses.ACS_VLINE, curses.ACS_HLINE, curses.ACS_HLINE, curses.ACS_ULCORNER, curses.ACS_URCORNER, curses.ACS_LLCORNER, curses.ACS_LRCORNER ] stdscr.border(*simple_border)
Ну, с учётом того что это внешняя либа — сойдёт. Но так просится структура.
Ну с учетом что это обертка над сишными ncurses, то, полагаю, что в оригинале в агрументы скармливается именно она.
Я о том, что список с восемью одинаково выглядящими, но разными по эффекту элементами — это уже приглашение их когда-нибудь перепутать. Я бы на всякий случай хотя бы в namedtuple сложил.
А зачем тебе распаковка, если ты сразу же в этом месте функцию вызываешь?
Обсуждают сегодня