有没有办法逃避kwargs中的关键字

时间:2014-08-27 14:10:50

标签: python

我有以下实例函数

class MyClass:

    def __init__(self):
        self.request = dict()

    def my_func(self, **kwargs):
        self.request['arguments'] = kwargs

我希望用它如下:

obj = MyClass()
obj.my_func(global = True)

如您所见,我希望在kwargs上使用Python关键字作为键值。我知道这是一个语法错误。我想知道是否有办法逃脱它,这样就可以产生kwargs{'global':True}

我在官方文档中找不到与此相关的任何内容。由于kwargs键的类型为string,我期待一种逃脱它们的方法。

1 个答案:

答案 0 :(得分:5)

将Python关键字用作关键字参数名称的唯一方法是解压缩字典:

instance.my_func(**{'global': True})

或者,重命名参数(例如global_)。