函数中可变数量的参数

靛蓝小孩

是否可以运行这样的函数:

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

有人可以告诉我是否有其他方法可以做到这一点?

布鲁诺·德舒利耶

很简单:要求调用者传递两个列表(或元组或其他):

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章