python 函数式 不可变_为什么Python不适合函数式编程?

小智..

14

对于这个问题(以及答案)而言,一件非常重要的事情是:函数式编程到底是什么,以及它最重要的属性是什么.我会尝试给出我的看法:

函数式编程就像在白板上编写数学一样.当您在白板上编写方程式时,您不会考虑执行顺序.(通常)没有突变.你不会在第二天回来看看它,当你再次进行计算时,你会得到不同的结果(或者,如果你有一些新鲜的咖啡,你也许可以:)).基本上,董事会上的内容是存在的,当你开始写下来时,答案已经存在,你还没有意识到它是什么.

函数式编程非常类似; 你不改变事物,你只需要评估等式(或者在这种情况下,"程序")并找出答案是什么.该计划仍在那里,未经修改.与数据相同.

我将以下列为函数式编程最重要的特性:a)引用透明性 - 如果您在其他时间和地点评估相同的语句,但具有相同的变量值,它仍然意味着相同.b)没有副作用 - 无论你盯着白板多久,另一个人看着另一块白板的等式都不会意外改变.c)功能也是值.它可以传递给其他变量并应用于其他变量.d)函数组合,你可以做h = g·f,从而定义一个新函数h(..),相当于调用g(f(..)).

此列表按我的优先顺序排列,因此参考透明度是最重要的,后面没有副作用.

现在,如果你通过python并检查语言和库如何支持和保证这些方面 - 那么你就可以回答你自己的问题了.

函数在Python中是一流的。 (2认同)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值