首页 > 解决方案 > Python3 用 **kwargs 更新 locals() dict 坏主意?

问题描述

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


def foo(*args, **kwargs):
    locals().update(kwargs)
    try:
        print(args, kwargs, a)
    except NameError:
        print('"a" is not defined')

为什么要这样做?

假设您有一个dict用作配置的 python。这个配置可能很长,作为一个懒惰的程序员,你不希望有一个巨大的def声明来命名kwargs,你也不一定总是想kwargs["my_var"]在函数里面写或defmy_var = kwargs["my_var"]

我再次认为这不是处理它的最佳方法。我只是好奇是否可能有另一种解决方案。

标签: python

解决方案


推荐阅读