Python3用** kwargs坏主意更新locals()字典?

时间:2019-03-02 14:58:33

标签: python

只想知道这是否是一个不好的约定(我假设是这样):


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"]或在函数内部defmy_var = kwargs["my_var"]

再次,我认为这不是处理它的最佳方法。我只是好奇是否还有其他解决方案。

0 个答案:

没有答案