【发布时间】:2015-02-21 20:28:15
【问题描述】:
如果输入函数是多参数函数,我将如何调用此函数:
def process_list(_func, _list):
return map( lambda x: process_list(_func, x) if type(x)==list else _func(x), _list )
所以如果 someFunction 是像这样的单个输入函数,我可以称之为newList = process_list(someFunction, inputList):
def makeRvtDetailLines(crv):
detailLine = doc.Create.NewDetailCurve(doc.ActiveView, crv)
return detailLine
但是,如果我需要调用一个具有多个输入的函数,例如:
def makeRvtDetailLines(crv, _lineStyle):
detailLine = doc.Create.NewDetailCurve(doc.ActiveView, crv)
detailLine.LineStyle = _lineStyle
return detailLine
如何拨打newList = process_list(makeRvtDetailLines, inputList)?函数的参数在哪里?谢谢大家的帮助。
ps。这不是 Revit 问题。这是python语法问题。
【问题讨论】:
-
假设
crv的值来自列表,那么_lineStyle的值来自哪里?不知道这一点,你的答案就无法正确回答。 -
它们可能来自另一个列表,或者在这种情况下是单个对象
-
这是否意味着我需要将它添加到 process_list 函数? process_list(_func, _list, _funcArg)
标签: python function syntax lambda