向Python函数传递大量参数的方法

向Python函数传递大量参数的方法,python,function,arguments,Python,Function,Arguments,我在一个项目中遇到了一个问题,在这个项目中,能够将大量(十个,而不是几百个)参数传递给Python中的单个“一次写入,多次使用”函数可能会很有用。问题是,我真的不确定处理这样一大块函数的最佳方法是什么——只需将它们作为一个单独的字典传递进来,并在函数中解压该字典,或者是否有一种更有效的/类似python的方法来实现相同的效果。具体取决于您正在执行的操作,您可以通过两种标准方法之一将任意参数传递给Python函数。第一种方法是将它们作为元组传递(即基于函数调用中的位置)。第二种方法是将它们作为键值

我在一个项目中遇到了一个问题,在这个项目中,能够将大量(十个,而不是几百个)参数传递给Python中的单个“一次写入,多次使用”函数可能会很有用。问题是,我真的不确定处理这样一大块函数的最佳方法是什么——只需将它们作为一个单独的字典传递进来,并在函数中解压该字典,或者是否有一种更有效的/类似python的方法来实现相同的效果。

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

签出,它可以用于此操作。类似于解包字典,但每个函数只是解包它正在寻找的参数。请发布您的代码好吗?@kkuilla否,因为这是一种“在编写代码之前确定方法”的情况。我可以想象这可能是离题的(主要是基于观点的)。不管怎样,我认为@JLLagrange的链接和该帖子中的链接将带你走得很远。。。