Python 如何将大量参数传递给多个函数

Python 如何将大量参数传递给多个函数,python,function,Python,Function,我很难准确地表述我的问题,因为我不能给出一个最小的例子,因为这是一个大规模的问题。问题在于代码组织: 假设我有一个脚本,它导入了我的实用函数并创建了很多变量 import utility list_a # list of custom objects list_b # list of custom objects list_m # list of numpy matrices matrix_a net # networkx object utility.my_main_func(list_a,

我很难准确地表述我的问题,因为我不能给出一个最小的例子,因为这是一个大规模的问题。问题在于代码组织:

假设我有一个脚本,它导入了我的实用函数并创建了很多变量

import utility
list_a # list of custom objects
list_b # list of custom objects
list_m # list of numpy matrices
matrix_a
net # networkx object
utility.my_main_func(list_a, list_b, list_m, matrix_a, net)
Then in utility I have
my_main_func(a, b, m, m_a, network)
my_func_one(a, b, m, m_a)   # no network
my_func_two(a, b, m, m_a, network, additional_one)

my_func_three(a, b, m, m_a, network, additional_two)
所以我的问题是,关于代码的可读性和可扩展性,惯用的方法是什么。我应该使用字典和*args和**kwargs,还是没有其他内容


谢谢

您可以使用
*args
**kwargs
(一个是参数数组,另一个更像是参数字典,我更喜欢**kwargs)


关于可读性,我认为您的方法不会有任何特殊问题


关于代码的可扩展性和可用性,我认为如果您的函数都是严格相关的,您可以将它们作为类的方法,并将您的输入值作为类的成员变量,并在构造函数中初始化它们。

关于可读性,我认为您的方法不会有任何特殊问题。关于代码的可扩展性和可用性,我认为如果你的函数都是严格相关的,你可以将它们作为类的方法,将你的输入值作为类的成员变量,并在构造函数中初始化它们。嗨,markusia,如果你将此作为答案发布,我会选择此作为解决方案
def test_args(farg, *args):
    print "Normal argument: ", farg
    for arg in args:
        print "*args argument: ", arg

test_args("normal", "this is args", "another args","another another args")

def test_kwargs(farg, **kwargs):
    print "Normal argument: ", farg
    for key in kwargs:
        print "Keyword - Value: %s: %s" % (key, kwargs[key])

test_kwargs(farg=1, myarg="one", myargtwo="two", myargthree="three")