【发布时间】:2013-11-21 08:41:18
【问题描述】:
我正在重构一段代码,我遇到了以下问题。我有一个 巨大的 参数列表,现在我想将其作为kwargs 传递。代码是这样的:
def f(a, b, c, ...):
print a
...
f(a, b, c, ...)
我将其重构为:
data = dict(a='aaa', b='bbb', c='ccc', ...)
f(**data)
这意味着我必须做:
def f(**kwargs):
print kwargs['a']
...
但这是一个皮塔饼。我想保留:
def f(**kwargs):
# Do some magic here to make the kwargs directly accessible
print a
...
是否有任何直接的方法可以直接访问 kwargs dict 中的参数,也许是通过使用一些帮助类/库?
【问题讨论】:
-
如果有人决定不通过
a,会发生什么。那么a的值是多少? -
那个人就是我 :) 不会发生,否则会崩溃
标签: python arguments keyword-argument