我正在研究如何在python中使用可选参数。 我读过this question,但我不清楚。 假设我有一个函数f,它可以接受1个或多个参数来理解时间序列。我有义务指定参数的数量并为每个参数设置默认值吗? 我的目标是能够以这种方式编写函数:
简单功能:
def f(x,y):
return x + y
#f(1,2) returns 3
我想要的也是f(1,2,3)返回我6,f(7)返回我7
是否可以在不设置预定义数量的强制/可选参数的情况下编写它? 是否可以在不必将默认值设置为0的情况下编写它? 如何编写这个函数?
这是一个简单的数字示例,但是我需要编写的函数是比较一组连续的对象。比较完成后,数据集将输入神经网络。在
谢谢你的阅读。在
编辑: 我给函数提供的对象是这样的元组(float、float、float、bool、string)
您可以在函数中放入^{} ,然后使用任意(非关键字)参数。*args是一个元组,因此可以像任何Python tuple/list/iterable一样对其进行迭代。即:
如果您需要执行比sum更复杂的操作,可以像这样在
^{pr2}$args
上迭代:有关more information on *args and **kwargs的信息,请参阅此问题
另请参阅Python教程中的以下部分:Arbitray Argument List
您可以使用以下语法:
在^{之前的
^{pr2}$*
告诉它“吞并”所有参数,使args
成为一个元组。您也可以将此形式与标准参数混合使用,只要*args
最后一个。例如:第一个示例使用内置的
sum
函数来合计参数。sum
取一个序列作为累加:args
名称不是强制性的,但按惯例使用,因此最好坚持使用它。{cd8>还有未定义的参数。在相关问题 更多 >
编程相关推荐