4.7.3. 任意的参数列表
最后,最不常用的选项是可以使用任意数量的参数调用函数。这些参数会被包含在一个元组里(参见 元组和序列 )。在可变数量的参数之前,可能会出现零个或多个普通参数。:
- def write_multiple_items(file, separator, *args):
- file.write(separator.join(args))
一般来说,这些 可变参数
将在形式参数列表的末尾,因为它们收集传递给函数的所有剩余输入参数。出现在 *args
参数之后的任何形式参数都是 ‘仅关键字参数’,也就是说它们只能作为关键字参数而不能是位置参数。:
- >>> def concat(*args, sep="/"):
- ... return sep.join(args)
- ...
- >>> concat("earth", "mars", "venus")
- 'earth/mars/venus'
- >>> concat("earth", "mars", "venus", sep=".")
- 'earth.mars.venus'