有没有方法在kwargs中转义关键字?

3 投票
1 回答
912 浏览
提问于 2025-04-18 18:42

我有一个实例函数

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的键是字符串类型。

1 个回答

6

你只能通过解包一个字典的方式来使用Python的关键字作为关键字参数的名字:

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

另外,你也可以把参数改个名字(比如改成global_)。

撰写回答