【发布时间】:2018-10-23 15:47:07
【问题描述】:
我想在函数定义中使用显式参数名称ff(a,b,c) 来定义一个函数,但我还想将一个函数映射到所有参数上以获得一个列表:
ff(a,b,c):
return list(map(myfunc,[a,b,c]))
但是,我不想在函数内显式地将参数名称写为 a、b、c。我想这样做
ff(a,b,c):
return list(map(myfunc,getArgValueList()))
getArgValueList() 将按顺序检索参数值并形成一个列表。这个怎么做?有没有像getArgValueList()这样的内置函数?
【问题讨论】:
-
使用
*args作为参数。 -
@Code-Apprentice OP说“我希望参数接口是明确的。即在进行函数定义时明确将参数名称写为
ff(a,b,c)”,甚至编辑了问题以将其放入在你对答案做出你的 cmets 之后加粗,所以......我认为,即使这可能是 OP 应该想要的,它也不是 OP确实想要的。 -
@smci 我不认为它是重复的。 OP想要做的是定义一个带有显式参数的函数,但无论如何都要获取args列表。这是一件不寻常的事情,因此它不会与涉及可变参数或 splats 的明显重复操作相匹配,即使乍看之下也是如此。
-
@PM2Ring 这比 Python 更不习惯 Java。它是……也许是(ES5 之前的)JavaScript,但实际上它比其他任何东西都更像 Perl。
-
@abarnert 好的。我只是猜测它是 Java 的东西,主要来自 camelCase 函数名(我不写 Java)。
标签: python function arguments named positional-parameter