【问题标题】:Methods for passing large numbers of arguments to a Python function将大量参数传递给 Python 函数的方法
【发布时间】:2014-03-08 01:37:13
【问题描述】:

我在一个项目中遇到了一个问题,在 Python 中,能够将大量(数十个,而不是数百个)参数传递给单个“一次编写,多次使用”函数可能很有用.问题是,我不确定最好的方法是处理这样的一大块函数 - 只需将它们作为单个字典传递并在函数中解压缩该字典,或者是否有更高效/pythonic达到相同效果的方法。

【问题讨论】:

  • 查看stackoverflow.com/questions/1769403/…,可用于此目的。类似于解包字典,但每个函数只是解包它正在寻找的参数
  • 请把你的代码贴出来好吗?
  • @kkuilla 不,因为这是“在编写代码之前决定方法”的情况。
  • 我可以想象这可能是题外话(主要基于意见)。无论如何,我认为@JLLagrange 的链接和该帖子中的链接会带你走很远......

标签: python function arguments


【解决方案1】:

根据您的具体操作,您可以通过两种标准方式之一将任意参数传递给 Python 函数。第一种是将它们作为元组传递(即基于函数调用中的位置)。第二种是将它们作为键值对传递,存储在函数定义中的映射中。如果您希望能够使用键区分参数,您可以使用key=value 形式的参数调用函数,并从函数定义中的映射参数(以** 前缀声明)中检索它们。按照惯例,此参数通常称为kwargs。传递任意数量参数的另一种方法是将它们作为元组传递。如果您使用 * 前缀声明参数,Python 会自动将参数包装在一个元组中。此参数通常按约定称为args。您当然可以根据需要将这两者与其他命名参数结合使用。

【讨论】:

    猜你喜欢
    • 2011-08-18
    • 2016-12-18
    • 1970-01-01
    • 2015-01-23
    • 1970-01-01
    • 2012-11-13
    • 2018-01-31
    相关资源
    最近更新 更多