如何编写python函数来接受*参数和关键字参数?

Jak*_*ake 3 python

我觉得必须有一些简单的我在这里失踪.这就是我想要做的事情:

>>> def x(*args, a=False):
...   print args, a

>>> x(1,2)
(1,2) False

>>> x(1,2,3, a=True)
(1,2,3) True
Run Code Online (Sandbox Code Playgroud)

但你不能定义这样的功能.

我知道这会起作用,但它似乎不太好看:

>>> def x(*args, **kwargs):
...   if 'a' in kwargs:
...       a = kwargs['a']
...   else
...       a = False
...   print args, a
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?
我正在使用python 2.6

Joc*_*zel 5

我认为你拥有的是唯一的方式.但你可以写得更好:

def x(*args, **kwargs):
    a = kwargs.get('a', False)
    print args, a

x(1,2,3,a=42)
Run Code Online (Sandbox Code Playgroud)