Вот простая функция, которая объясняет использование:
def print_wrap(arg1, *args, **kwargs):
print(arg1)
print(args)
print(kwargs)
print(arg1, *args, **kwargs)
Любые аргументы, которые не , указанные в определении функции, будут помещены в список args
, или kwargs
, в зависимости от того, являются ли они аргументами ключевого слова или нет:
>>> print_wrap('one', 'two', 'three', end='blah', sep='--')
one
('two', 'three')
{'end': 'blah', 'sep': '--'}
one--two--threeblah
Если вы добавите аргумент ключевого слова, который никогда не будет передан функции, будет поднята ошибка:
>>> print_wrap('blah', dead_arg='anything')
TypeError: 'dead_arg' is an invalid keyword argument for this function