当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-06-15
学习笔记,有错必纠 可变长参数元祖 函数可以接收不定个数的参数,以​​*​​开头的参数名会收集所有的参数到一个元组上,例如,printall接收任意个数的参数并打印它们:: def p

学习笔记,有错必纠


可变长参数元祖



函数可以接收不定个数的参数,以​​*​​开头的参数名会收集所有的参数到一个元组上,例如,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]: 3

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


【本文转自:防御ddos http://www.558idc.com/stgf.html提供,感谢支持】
上一篇:利用python爬虫(part5)--lxml模块
下一篇:没有了
网友评论