如何存储多个函数使用的相同参数

时间:2014-11-14 04:16:50

标签: python function python-2.7 arguments

我有多个将使用相同参数的函数。是否可以仅将参数存储到变量中,以便我可以将变量传递给多个函数?

示例:

#Store the arguments into a variable:
Arguments = (pos_hint={'center_x': 0.5, 'center_y': 0.5},
             size_hint=(1, 1), duration=2) #possible?


function1(Arguments) #Then pass variable to first function
function2(Arguments) #Then pass variable to different function
function3(Arguments) #etc.
...

1 个答案:

答案 0 :(得分:4)

您可以将参数存储在字典中,然后使用** unpacking syntax

Arguments = {
    'pos_hint': {'center_x': 0.5, 'center_y': 0.5},
    'size_hint': (1, 1),
    'duration': 2
}

function1(**Arguments)
function2(**Arguments)
function3(**Arguments)

以下是演示:

>>> def func(a, b, c):
...     return a + b + c
...
>>> dct = {'a':1, 'b':2, 'c':3}
>>> func(**dct)
6
>>>

基本上,做:

func(**dct)

相当于:

func(a=1, b=2, c=3)