Запутывающее двойное использование нотации Python (в качестве аргумента функции или определения функции)
Я немного смущен. Давайте создадим функцию с именем x. Я знаю, что, поставив * перед y, это означает, что мы можем добавить столько аргументов, сколько захотим.
def x(*y):
return y
Тем не мение.
Дело 1:
>>> x(1, 2)
(1, 2)
Случай 2: Передаем список [1,2] со звездочкой перед ним:
>>> x(*[1,2])
(1, 2)
Кажется, что единственная звездочка имеет два использования:
Для разрешения нескольких аргументов в функции - по существу, помещая их в списокЕсли сделать дважды, «разбить» список на отдельные элементыПочему это? Почему я не могу сделать что-то вроде: * a * b?