有个地方怎么都想不明白
Topic sourcedef f1(a, b, c = 0,*d,**kw):
print('a =', a, 'b =', b, 'c =', c ,'d =', d, 'kw =', kw)
args = (1,2,3,4,5,6,7)
kw = {'x': '##'}
f1(*args,**kw)
改成这样就可以了,可以看到args的值先是传给了前面的必选参数,然后再传给了可变参数。猜测应该是一次只能传一个可变参数。 但是教程里没说这种用法。教程里说的是*args可以传给可变参数,没说还可以传给必选参数。
def f1(a, b, c = 0, d, **kw): print('a =', a, 'b =', b, 'c =', c ,'d =', d, 'kw =', kw) args = (1, 2, 3) kw = {'x': '##'} f1(2args, *kw) 改成这样就可以达到你的要求了。
- 1
- 2
藤井p
如上 args分别把a、b、c参数填满,那d为什么就是传不进去呢 辗转反侧,希望有人能解惑一下,谢谢