python观察日志(part7)--可变长参数元祖(Python可变长参数)

网友投稿 263 2022-08-31


python观察日志(part7)--可变长参数元祖(Python可变长参数)

学习笔记,有错必纠

可变长参数元祖

函数可以接收不定个数的参数,以​​*​​开头的参数名会收集所有的参数到一个元组上,例如,printall接收任意个数的参数并打印它们::

def printall(*args): print(args)printall(1, 2, 'a')

输出:

(1, 2, 'a')

收集参数可以使用任何你想要的名称,但按惯例通常使用args

收集的反面是分散,如果我们有一个序列,我们想将它作为可变长参数传入到函数中,可以使用*操作符。

例如,divmod函数只接收两个参数,但它不接收元组,如果将元祖作为参数传入,则会报错:

In [20]: t = (10, 3)In [21]: divmod(t)TypeError: divmod expected 2 arguments, got 1

这时,如果将元组分散,就可以使用这个函数了:

In [22]: t = (10, 3)In [23]: divmod(*t)Out[23]: (3, 1)

很多内置函数使用可变长参数元组,例如,max和min:

In [24]: max(1,2,3)Out[24]: 3In [25]: min(1,2,3)Out[25]: 1


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:利用python爬虫(part5)--lxml模块
下一篇:java实现输出任意整数的每一位
相关文章

 发表评论

暂时没有评论,来抢沙发吧~