我一直认为函数式编程可以用Python完成.因此,我很惊讶Python在this个问题中没有得到太多的提及,而且当它被提到时,通常不是很积极.然而,没有给出多少原因(提到缺少模式匹配和代数数据类型).所以我的问题是:为什么Python不适合函数式编程?除了缺少模式匹配和代数数据类型之外,还有其他原因吗?或者,这些概念对于函数式编程如此重要,以至于不支持它们的语言只能被归类为二流函数式编程语言吗?(请记住,我的函数式编程经验相当有限.)
我一直认为函数式编程可以用Python完成.因此,我很惊讶Python在this个问题中没有得到太多的提及,而且当它被提到时,通常不是很积极.然而,没有给出多少原因(提到缺少模式匹配和代数数据类型).所以我的问题是:为什么Python不适合函数式编程?除了缺少模式匹配和代数数据类型之外,还有其他原因吗?或者,这些概念对于函数式编程如此重要,以至于不支持它们的语言只能被归类为二流函数式编程语言吗?(请记住,我的函数式编程经验相当有限.)
您提到的问题是哪种语言同时促进了面向对象和函数式编程.Python不会promote函数式编程,尽管它works做得相当好.
Python中最好的论点against函数式编程是Guido仔细考虑命令式/面向对象用例,而函数式编程用例则没有.当我编写命令式Python时,它是我所知道的最漂亮的语言之一.当我编写函数式Python时,它变得和没有BDFL的普通语言一样难看和令人不快.
这并不是说这是不好的,只是如果你转而使用一种促进函数式编程的语言,或者转而编写面向对象的Python,你就必须更加努力地工作.
以下是我在Python中错过的函数功能:
list
左右.(迭代器只使用一次)