Garp Asked:2024-07-21 17:31:42 +0800 CST2024-07-21 17:31:42 +0800 CST 2024-07-21 17:31:42 +0800 CST Python **kargs 需要参数过滤器 772 不知道会出现什么参数,因此您需要编写一个过滤条件,如下所示: def func(**kargs): if x in kargs.keys(): # NameError: name 'x' is not defined print(kargs[x]) func(n=4, x='aaa', a=22) python 1 个回答 Voted Best Answer mrgervant 2024-07-21T17:49:41+08:002024-07-21T17:49:41+08:00 您需要将 x 放在引号中: def func(**kwargs): if 'x' in kwargs.keys(): print(kwargs['x']) func(n=4, x='aaa', a=22) 当您通过 x='aaa' 将参数传递给函数时,x 被视为字符串(就像其他字典键 n、a 一样)。我找不到任何文档,但这里有一个讨论。 通过用引号引起来,您可以正确访问字典键。否则(没有 '')函数会尝试查找未定义的变量 x。
您需要将 x 放在引号中:
当您通过 x='aaa' 将参数传递给函数时,x 被视为字符串(就像其他字典键 n、a 一样)。我找不到任何文档,但这里有一个讨论。
通过用引号引起来,您可以正确访问字典键。否则(没有 '')函数会尝试查找未定义的变量 x。