使用变量作为关键字分配关键字参数的最有效方法?

发布于 2021-01-29 18:45:06

解决以下问题 的最有效方法 是什么?从交互式外壳程序:

>>> def f(a=False):
...     if a:
...         return 'a was True'
...     return 'a was False'
... 
>>> f(a=True)
'a was True'
>>> kw = 'a'
>>> val = True
>>> f(kw=val)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: f() got an unexpected keyword argument 'kw'

目前,我正在解决以下问题:

>>> exec 'result = f(%s=val)' % kw
>>> result
'a was True'

但是看起来很笨拙…

(python 2.7+或3.2+解决方案都可以)

关注者
0
被浏览
86
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    使用关键字参数解包

    >>> kw = {'a': True}
    
    >>> f(**kw)
    <<< 'a was True'
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看