Переменное количество аргументов в функции
Можно ли запустить такую функцию:
def call(a,*alphabets,*numbers):
print(a)
print(alphabets)
print(numbers)
Я получаю следующую ошибку:
File "<ipython-input-331-ddaef8a7e66f>", line 1
def call(a,*alphabets,*numbers):
^
SyntaxError: invalid syntax
Может кто-нибудь сказать мне, если есть альтернативный способ сделать это?
1 ответ
Решение
Проще говоря: требуется, чтобы вызывающий абонент прошел два списка (или кортежи или что-то еще):
def call(a,alphabets=None,numbers=None):
if alphabets is None:
alphabets = []
if numbers is None:
numbers = []
print(a)
print(alphabets)
print(numbers)
call("?")
call("?", ["a", "b", "c"])
call("?", ["a", "b", "c"], (1, 2, 3))
call("?"), None, (1, 2, 3))
# etc