Когда вы определяете свою функцию, используя этот синтаксис:
def someFunc(*args)
for x in args
print x
Вы говорите, что ожидаете переменного числа аргументов.Если вы хотите передать список (массив из других языков), вы должны сделать что-то вроде этого:
def someFunc(myList = [], *args)
for x in myList:
print x
Затем вы можете вызвать его так:
items = [1,2,3,4,5]
someFunc(items)
Вам нужноопределить именованные аргументы перед переменными аргументами и переменные аргументы перед ключевыми аргументами.Вы также можете иметь это:
def someFunc(arg1, arg2, arg3, *args, **kwargs)
for x in args
print x
Для которого требуется как минимум три аргумента и поддерживаются переменные номера других аргументов и аргументов ключевых слов.