函数参数调用函数
我有一个函数,我们将其称为funcA
,它返回一个对象。我想将该对象传递给funcB
。我可以这样做吗?函数参数调用函数
funcB(funcA());
使funcA()
被称为第一,并将结果传递给funcB()
?
如果有帮助,Yisroel,您可以想到返回的对象“就地替换”函数。所以,funcA()被执行后,它被返回的值“替换”并传递给funcB()。
但是,通常情况下,您不希望这样的嵌套函数超过3个级别。如果它开始变得不可读,将对象存储到一个变量中,并将该变量传递给下一个函数可以使您的代码更具可读性。
所以答案是肯定的,正如其他人所指出的那样。
实际上,这样做是一种代码气味,尽管我已经做到了,但我会建议不要这样做,更不用说3级了(?!) – 2010-04-22 03:52:49
有时它可以被读取。即Python 3:'print(sum(len(getLines()))' – 2010-04-22 03:56:35
Darko,你为什么会推荐这个? – Yisroel 2010-04-22 04:12:10
是的,是的,你可以。
我没有看到任何问题,你有没有尝试过任何样品?
它应该工作正常。
如果您遇到任何特定问题,请发布。
如果你想通过FuncA的作为参数传递给funB那么你必须调用funcB作为funcB(FuncA的)
是。函数的参数是在将表达式值传递给函数之前求值的表达式。一个表达式当然可以是一个函数调用。
是的,这应该是你想要的。 funcB(funcA())
调用funcA()
并将结果传递到funcB()
也许你担心它会通过功能funcA
到funcB()
?为此,语法应该是funcB(funcA)
其他人认为这将是更快的测试比发布的问题? – 2010-04-22 03:34:35
我到底在想什么? – Yisroel 2017-06-30 14:28:34