Python构建多个arg参数

2024-03-28 14:29:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将字典的某些值转换为多个参数,并将其传递给一个方法。dict的键必须是传递给方法的变量的名称。你知道吗

例如:

myDict={'one':1,'two':2,'three':3,'four':4}

#call myMethod as
myMethod(one=1,two=2)

def myMeth(self,*args):
     do somthing with args

Tags: 方法名称参数字典defasargscall
2条回答

使用**传递或接受字典参数。以下代码

d={'foo': 'bar','test': 123}

def my_method(**kwargs):
    print kwargs

my_method(**d)

将打印d{'foo': 'bar','test': 123}的内容

编辑:@Matthew的答案通过*args的比较很好地总结了这一点。你知道吗

您可以使用解包符号。如果你有这样的方法

def function(arg1,arg2,arg3):
    # do something

和一个字典dct = {'arg1':3,'arg2':3,'arg3':6},您可以调用如下函数

function(**dct)

这相当于做function(arg1=3,arg2=3,arg3=6)。你知道吗

注意双星。这意味着接受字典并将其值作为命名参数传递,其中键是名称。单个星号将解压一个列表,将其值作为未命名参数按顺序传递。这些可以结合起来。你知道吗

有关详细信息,请参阅python文档的4.7.4部分。Here也是另一篇讨论这些问题的文章。你知道吗

相关问题 更多 >