将大量参数传递给 Python 函数的方法
Posted
技术标签:
【中文标题】将大量参数传递给 Python 函数的方法【英文标题】:Methods for passing large numbers of arguments to a Python function 【发布时间】:2014-03-08 01:37:13 【问题描述】:我在一个项目中遇到了一个问题,在 Python 中,能够将大量(数十个,而不是数百个)参数传递给单个“一次编写,多次使用”函数可能很有用.问题是,我不确定最好的方法是处理这样的一大块函数 - 只需将它们作为单个字典传递并在函数中解压缩该字典,或者是否有更高效/pythonic达到相同效果的方法。
【问题讨论】:
查看***.com/questions/1769403/…,可用于此目的。类似于解包字典,但每个函数只是解包它正在寻找的参数 请把你的代码贴出来好吗? @kkuilla 不,因为这是“在编写代码之前决定方法”的情况。 我可以想象这可能是题外话(主要基于意见)。无论如何,我认为@JLLagrange 的链接和该帖子中的链接会带你走很远...... 【参考方案1】:根据您的具体操作,您可以通过两种标准方式之一将任意参数传递给 Python 函数。第一种是将它们作为元组传递(即基于函数调用中的位置)。第二种是将它们作为键值对传递,存储在函数定义中的映射中。如果您希望能够使用键区分参数,您可以使用key=value
形式的参数调用函数,并从函数定义中的映射参数(以**
前缀声明)中检索它们。按照惯例,此参数通常称为kwargs
。传递任意数量参数的另一种方法是将它们作为元组传递。如果您使用 *
前缀声明参数,Python 会自动将参数包装在一个元组中。此参数通常按约定称为args
。您当然可以根据需要将这两者与其他命名参数结合使用。
【讨论】:
以上是关于将大量参数传递给 Python 函数的方法的主要内容,如果未能解决你的问题,请参考以下文章