小智..
14
对于这个问题(以及答案)而言,一件非常重要的事情是:函数式编程到底是什么,以及它最重要的属性是什么.我会尝试给出我的看法:
函数式编程就像在白板上编写数学一样.当您在白板上编写方程式时,您不会考虑执行顺序.(通常)没有突变.你不会在第二天回来看看它,当你再次进行计算时,你会得到不同的结果(或者,如果你有一些新鲜的咖啡,你也许可以:)).基本上,董事会上的内容是存在的,当你开始写下来时,答案已经存在,你还没有意识到它是什么.
函数式编程非常类似; 你不改变事物,你只需要评估等式(或者在这种情况下,"程序")并找出答案是什么.该计划仍在那里,未经修改.与数据相同.
我将以下列为函数式编程最重要的特性:a)引用透明性 - 如果您在其他时间和地点评估相同的语句,但具有相同的变量值,它仍然意味着相同.b)没有副作用 - 无论你盯着白板多久,另一个人看着另一块白板的等式都不会意外改变.c)功能也是值.它可以传递给其他变量并应用于其他变量.d)函数组合,你可以做h = g·f,从而定义一个新函数h(..),相当于调用g(f(..)).
此列表按我的优先顺序排列,因此参考透明度是最重要的,后面没有副作用.
现在,如果你通过python并检查语言和库如何支持和保证这些方面 - 那么你就可以回答你自己的问题了.
函数在Python中是一流的。 (2认同)