首页 / PYTHON / python中的函数式编程
python中的函数式编程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python中的函数式编程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1170字,纯文字阅读大概需要2分钟。
内容图文
函数式编程是python中的编程范例之一.
据我了解,函数式编程将计算视为对数学函数的评估,并避免使用状态和可变数据.
我想了解python如何准确地合并函数式编程.
例如,考虑以下析因程序(factorial.py):
def factorial(n,total):
if n == 0:
return total
else:
return factorial(n-1,total*n)
num = raw_input("Enter a natural number : ")
print factorial(int(num),1)
我觉得上面的代码避免了可变数据,因为我们没有更改任何变量的值,而只是用新值递归调用阶乘函数.因此,以上代码避免了可变数据.
我的问题是这样的:
>如果上面给出的用于函数式编程的示例是正确的,则
避免状态意味着什么.
>其次,函数式编程是否仅意味着,只要有计算,就必须仅使用函数(如上例所示)
>如果给定的示例是错误的,请提供另一个简单的示例并进行解释.
解决方法:
该示例对于函数式编程是正确的.这是一个很好的例子,说明了在Python中不做什么,因为它效率低下且无法扩展. Python没有优化尾部调用,因此递归调用不应仅用于避免命令性循环.如果您真的开始以这种风格在Python中进行编程,则您的程序最终将以运行时错误结束.
您所描述的是纯函数式编程,这是Python不能使用的.
从某种意义上说,Python是函数编程,即函数是一流的值.这意味着函数可以传递给其他函数,并作为函数的结果返回.标准库包含大多数函数式编程语言标准库中也包含的函数,例如map(),filter(),reduce()以及functools和itertools模块中的内容.
内容总结
以上是互联网集市为您收集整理的python中的函数式编程全部内容,希望文章能够帮你解决python中的函数式编程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。