介绍
一些函数没有参数,另一些具有多个。有时候,我们有一些函数,这些函数带有我们以前不知道的参数。我们可能有可变数量的参数,因为我们想为其他开发人员提供灵活的API,或者我们不知道输入大小。使用Python,我们可以创建函数以接受任意数量的参数。
在本文中,我们将研究如何定义和使用带有可变长度参数的函数。这些函数可以接受数量不明的输入,可以是连续输入,也可以是命名参数。
通过* args使用许多参数
让我们实现一个函数,该函数查找两个数字之间的最小值。它看起来像这样:
它只是检查第一个数字是否小于第二个数字。如果是,则返回第一个数字。否则,返回第二个数字。
如果我们希望找到至少3个数字,则可以向my_min()和更多的if语句添加另一个参数。如果我们的最小值函数需要找到所有不确定数量中的最小值,则可以使用以下列表:
虽然这样做有效,但我们的编码人员现在必须将其数字括在列表中,这并不像我们有两个或三个定义的参数时那样简单。让我们利用可变长度参数来兼顾两者。
可变长度参数(简称varargs)是可以接受未指定输入量的参数。使用这些格式时,程序员无需将数据包装在列表或替代序列中。
在Python中,使用*args语法定义varargs 。让我们重新实现我们的my_min()功能*args:
注意:args只是一个名称,您可以将vararg命名为任何名称,只要它以单个星号(*)开头即可。最好不断命名,args以使其立即被识别。
后面的任何参数都*args必须是命名参数-由其名称而不是其位置引用的参数。有了*args你可以不再引用其位置的另一个理由。