只想知道这是否是一个不好的约定(我假设是这样):
def foo(*args, **kwargs):
locals().update(kwargs)
try:
print(args, kwargs, a)
except NameError:
print('"a" is not defined')
为什么这样做?
假设您有一个python dict
作为配置。此配置可能很长,并且作为一个懒惰的程序员,您不想拥有一个庞大的def
语句来命名kwargs
,您也不一定总是要编写kwargs["my_var"]
或在函数内部def
写my_var = kwargs["my_var"]
。
再次,我认为这不是处理它的最佳方法。我只是好奇是否还有其他解决方案。