在一个函数中使用*arg和可选参数

Dem*_*unt 0 python arguments

我怎样才能将*arg和变量与defaull值一起使用?

def my_fun(a, b = True, *arg):
    print (a)
    print (b)
    print (arg)

my_fun(1,2,3)
Run Code Online (Sandbox Code Playgroud)

我想得到的是

1
True
(2,3,)
Run Code Online (Sandbox Code Playgroud)

我得到的是

1
2
(3)
Run Code Online (Sandbox Code Playgroud)

Mos*_*oye 6

如果你在关键字参数之前捕获所有args:

>>> def my_fun(*arg, a=1, b=2):
...     print (a)
...     print (b)
...     print (arg)
...
>>> my_fun(3,4,5)
1
2
(3, 4, 5)
Run Code Online (Sandbox Code Playgroud)

ab可以将它们作为命名参数进行修改:

>>> my_fun(3,4,5, a=10, b=11)
10
11
(3, 4, 5)
Run Code Online (Sandbox Code Playgroud)