什么是使用** kwargs的正确方法?

时间:2017-06-16 15:38:56

标签: python pandas

我有一个像

这样的课程
class myClass():
    def filter(self, inplace = False, **kwargs):
        for key, value in kwargs.items():
            if isinstance(value, str):
                value = "'%s'" % value
            query_str += " & %s == %s" % (str(key), str(value))

myObject.filter(param1 = value1, inplace = False)

当我运行它时,我收到一条错误消息:

  

pandas.computation.ops.UndefinedVariableError:未定义名称'param1'

我真的不明白,因为你使用**kwargs的原因是参数更灵活,对吗?

1 个答案:

答案 0 :(得分:-1)

inplace是一个位置参数,必须在关键字参数之前。试试

myObject.filter(False, param1 = value1)