Why can I not call this function using a variable as an argument in Python?
实例: </P >
1 2 3 4 5 | def somerando(a,b,c,d): if not a+b+c+d == 9000: return (a+b+c+d) somerando(1,2,3,4) |
但 </P >
1 2 3 | randonumbs = [1,2,3,4] somerando(randonumbs) |
给下面的错误: </P >
TypeError Traceback (most recent call
last) in
----> 1 somerando(randonumbs)TypeError: somerando() missing 3 required positional arguments: 'b',
'c', and 'd'
函数需要4个参数。
你可以这样做:
1 2 | randonumbs = [1,2,3,4] somerando(*randonumbs) |
星号(
*args的单星号形式可用作参数,以向函数发送非关键字变长参数列表,如下所示
1 2 | randonumbs = [1,2,3,4] somerando(*randonumbs) |
**kwargs的双星号形式用于将关键字可变长度参数字典传递给函数。
1 2 | randonumbs = {'a':1, 'b':2, 'c': 3, 'd': 4} somerando(**randonumbs) |
您将
您可以使用
BR/>这里,如果在函数参数/参数中使用
谢谢。