【发布时间】:2018-02-23 11:39:48
【问题描述】:
是否可以运行这样的函数:
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
谁能告诉我是否有其他方法可以做到这一点?
【问题讨论】:
-
不,
*是贪婪的,它将消耗所有剩余的(位置)参数。无论如何,Python 怎么知道如何在两个不同的变量之间拆分它们? -
没错,我不知道怎么做。我有一个任务需要我做这样的事情。你知道任何替代方案吗?
-
嗨@Omar,我需要在函数中传递至少2个可变数量的参数。
-
你为什么需要那样的东西? "2 variable number of argument" 没有意义,因为第 2 个可变参数编号会被第 1 个自动失效。如果使用
*args, **kwargs无法完成,则要么设计不佳,要么 Python 不适合此任务。
标签: python function arguments multiple-arguments