【问题标题】:Python arguments as a dictionaryPython 参数作为字典
【发布时间】:2012-02-15 19:20:12
【问题描述】:

如何获取作为字典传递给方法的参数名称及其值?

我想将 GET 请求的可选参数和必需参数指定为 HTTP API 的一部分,以便构建 URL。我不确定制作这个 pythonic 的最佳方法。

【问题讨论】:

标签: python dictionary arguments


【解决方案1】:

使用以** 为前缀的单个参数。

>>> def foo(**args):
...     print(args)
...
>>> foo(a=1, b=2)
{'a': 1, 'b': 2}

【讨论】:

  • 再补充一点,一个 * 用于接受未命名数量的非关键字 args 作为列表:*args
  • @Marcin:好吧,也许我太容易放弃代码了,但我个人在学习一门语言时总是觉得很难找到这种结构。
  • 如果我仍然希望在函数定义中提供可能的关键字参数(和默认值)怎么办?
【解决方案2】:

对于非关键字参数,使用单个*,对于关键字参数,使用**

例如:

def test(*args, **kwargs):
    print args
    print kwargs

>>test(1, 2, a=3, b=4)
(1, 2)
{'a': 3, 'b': 4}

非关键字参数将被解包为元组,关键字参数将被解包到字典。 Unpacking Argument Lists

【讨论】:

  • 结果将是:(1, 2){'a': 3, 'b': 4}
猜你喜欢
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-19
  • 2021-05-28
  • 2012-10-01
  • 2019-08-01
相关资源
最近更新 更多