如何将* arg和变量与defaull值一起使用?
def my_fun(a, b = True, *arg):
print (a)
print (b)
print (arg)
my_fun(1,2,3)
我想要的是
1
True
(2,3,)
我得到的是
1
2
(3)
答案 0 :(得分:6)
如果你在关键字参数之前捕获了所有的参数:
>>> def my_fun(*arg, a=1, b=2):
... print (a)
... print (b)
... print (arg)
...
>>> my_fun(3,4,5)
1
2
(3, 4, 5)
a
和b
可以通过将它们作为命名参数传递来修改:
>>> my_fun(3,4,5, a=10, b=11)
10
11
(3, 4, 5)
答案 1 :(得分:1)
你要求的是没有意义的。
如果我遵循您的逻辑,无论您如何称呼您的功能,a
和b
始终为1
和2
。