python函数的参数列表

list of arguments to python function

本问题已经有最佳答案,请猛点这里访问。

有没有一种方法可以为python函数构建参数列表,以便在函数内部使用它?例如:

1
2
3
4
5
6
def sum_of_middle_three(score1,score2,score3,score4,score5):
"""
Find the sum of the middle three numbers out of the five given.
"""

sum = (score1+score2+score3+score4+score5)
return sum

如何引用函数中的输入参数列表,如果可能的话,这将提供通过变量参数列表调用该函数的可能性。


您可以使用*args**kwargs

*args**kwargs允许您向函数传递可变数量的参数。

例子:

1
2
3
4
5
6
7
8
9
In [3]: def test(*args):
   ...:         return sum(args)
   ...:
   ...:

In [4]: test(1, 2, 3, 4)
Out[4]: 10

In [5]:

另外,如果要保留参数集的名称,请使用**kwargs

例子:

1
2
3
4
5
6
7
8
9
10
11
In [10]: def tests(**kwargs):
    ...:     print(kwargs)
    ...:     return sum(kwargs.values())
    ...:
    ...:

In [11]: tests(a=10, b=20, c=30)
{'a': 10, 'c': 30, 'b': 20}
Out[11]: 60

In [12]:

您可以使用*args

1
2
3
4
5
6
7
8
def f(*args):
    return(sum(args))

>>>f(1,2,3,4)
10

>>>f(1,2)
3