Python,声明的对象,可变数量为attr

时间:2011-07-12 13:31:54

标签: python

我遇到了问题。我有一个随机元素数组,我有对象(对象中的max array = max attr)。但如果我使用:

breadcrumbs = breadObject(element[0],element[1],element[2])

但如果我有只有2个元素的数组([0] [1]),我得到错误。

我尝试:

  exec("breadcrumbs = breadObject(%s)"%string_bread)
  return breadObject

其中string_bread是ex。 str(“element1”,“element2”)但它返回错误:

  

名称'breadObject'未定义

1 个答案:

答案 0 :(得分:2)

不确定是否正确理解您,但认为您可以使用以下语法:

breadcrumbs = breadObject(*element)
  

可以使用* args语法收集任意数量的参数   可以收集任意数量的关键字参数作为   带有** kwargs语法的字典。:

def function(*args, **kwargs):
    assert isinstance(args, tuple), 'args is always a tuple'
    assert isinstance(kwargs, dict), 'kwargs is always a dictionary'
     

* args和** kwargs可用于从元组或字典中调用具有多个参数/关键字参数的函数