def a(**akwargs):
def b(bkwargs=akwargs):
# how to not only use akwargs defaultly,but also define bkwargs by
# myself?
print bkwargs
return b
如果我想实现下面的功能。我该如何处理上面的代码?
>>>a(u='test')()
{'u': test}
>>>a(u='test')(u='test2')
{'u': test2}
请您参考如下方法:
有点不清楚你想要什么,但我认为这是诀窍:
def a(**akwargs):
def b(bkwargs=akwargs, **kwargs):
# how to not only use akwargs defaultly,but also define bkwargs by
# myself?
if not bkwargs:
bkwargs = kwargs
else:
# it depends what you want here (merge or replace?), but probably
# something like bkwargs.update(kwargs) or kwargs.update(bkwargs)
return b
