我觉得必须有一些简单的我在这里失踪.这就是我想要做的事情:
>>> 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
我认为你拥有的是唯一的方式.但你可以写得更好:
def x(*args, **kwargs):
a = kwargs.get('a', False)
print args, a
x(1,2,3,a=42)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
258 次 |
| 最近记录: |