Python中是否存在类似JavaScript的Rest Syntax(剩余语法)?
当然可以,Python里完全支持和你提到的JS示例逻辑一致的Rest语法,使用*操作符即可实现。
对应你给出的JS baz函数示例,Python的等效写法如下:
def baz(*nums): print(nums) baz(1, 2, 3) # 输出结果:(1, 2, 3)
这里的*nums就等价于JS里的...nums,会把调用函数时传入的所有不定长度的位置参数,打包成一个元组赋值给参数nums,和JS里把参数打包为数组的作用完全一致。如果你需要得到列表类型的结果,直接用list(nums)转换即可。
如果要接收不定长度的关键字参数,还可以用**操作符,会把多余的关键字参数打包为字典:
def baz(**kwargs): print(kwargs) baz(a=1, b=2, c=3) # 输出结果:{'a': 1, 'b': 2, 'c': 3}
内容的提问来源于stack exchange,提问作者Vikram Negi
相关产品推荐
相关产品推荐

