1、函数式编程
函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量。
函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!
传入函数
既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。
一个最简单的高阶函数:
当我们调用时,参数,和分别接收,和,根据函数定义,我们可以推导计算过程为:
2、map/reduce
传入的第一个参数是,即函数对象本身。由于结果是一个,是惰性序列,因此通过函数让它把整个序列都计算出来并返回一个list。
再看的用法。把一个函数作用在一个序列上,这个函数必须接收两个参数,把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
如果要把序列变换成整数,就可以派上用场:
小练习:map()与reduce()函数结合使用
小练习:利用函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。
输入:,输出::
3、filter()函数
Python内建的函数用于过滤序列。
和类似,也接收一个函数和一个序列。和不同的是,把传入的函数依次作用于每个元素,然后根据返回值是还是决定保留还是丢弃该元素。
注意到函数返回的是一个,也就是一个惰性序列,所以要强迫完成计算结果,需要用函数获得所有结果并返回list。
4、sorted()
排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。
Python内置的函数就可以对list进行排序:
此外,函数也是一个高阶函数,它还可以接收一个函数来实现自定义的排序,例如按绝对值大小排序
也是一个高阶函数。用排序的关键在于实现一个映射函数。
假设我们用一组tuple表示学生名字和成绩:
到此这篇spss19.0许可证代码(spss24.0许可证代码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/qdvuejs/44628.html