我用我自己,就是高阶函数,直接表现就是函数可以作为另一个函数的参数,也可以作为返回值

首先一个知识点是 函数的表现形式,印象中的是def  fw(参数)这种方式定义一个函数

python有很多的内置函数,比如abs()求绝对值,但是没想到的是,abs只是一个变量,把abs这个变量拿掉之后,才是真正的函数,例如可以用 b = abs, 那么b() 就具有和abs一样的功能了,太神奇了,让我想到一句话: 你可以叫姬无命,我也可以叫姬无命,那把这个代号拿掉之后,我又是谁。哈哈,当abs这个代号拿掉之后,才是abs真正的内容,即函数体的内容。由于函数名只是一个代号的原因,函数名本质是一个变量,那变量就可以作为其他函数的参数来使用,所以函数调用时允许使用一个函数作为变量了。

基于函数可以作为参数的特点,接触了第一个和第二个python内置函数:map()和reduce(),map(参数1,参数二)的作用是,参数1 是一个函数,而参数二是一个序列Iterable,map函数会让参数1的函数依次作用在序列中的每一个值,并返回一个迭代器Iterator返回。要使用这个迭代器可以先用列表生成式list()将其转化为列表。

而reduce的作用与其类似也是传入一个函数和一个序列,reduce(参数1,参数2)的作用是,参数1的函数会作用与参数2的序列,且参数1的函数必须接收连个参数,也就是序列中的前两个参数,然后把结果作为新的参数继续和后面的参数进行计算,效果就是,处理 1 和2 变成n,然后处理n和3 变成 新的n,然后继续处理新的n和4,一直处理到最后一个。最常见的就是累加,

在练习中运用到了几个其他的函数,index()函数负责返回一个字符串的位置,比如 [1,4,6,9].index(4) 则会返回1 ,表示4在的位置是1。

第二个函数是len函数,返回一个序列的长度,

通过练习掌握一个技巧就是,如果要进行字符串转换为数字的操作,可以使用字典

dic = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9},然后通过map()函数去依次将字符串转换为数字,
def qs(le):
dic = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}
return dic[le]
s = [1,3,5]
s1=map(qs, s)
同样的,这个方法可以用在其他类似的场景中。

最新文章

  1. Nginx + uwsgi
  2. 你不得不知道的HTML5的新型标签
  3. 记录一个bug -- sprintf
  4. LA 4384
  5. 【转载】学习C++和编程的几个要点
  6. 业余写的一个播放器SDK,求点意见
  7. Arrays类——Arrays.asList()方法使用
  8. java中计算两个时间差
  9. day18<集合框架+>
  10. 三:动态SQL
  11. SQL 耗时优化
  12. 【腾讯海纳】系统未发布时如何获取获取property_id在本地进行测试?
  13. 【转】利用apktool反编译apk,并且重新签名打包
  14. nodejs笔记之事件循环
  15. Asp.net APP 重置密码的方式
  16. ES6标准之箭头函数
  17. JavaStudy——Java之自动拆箱与自动装箱
  18. 四、u-boot 链接脚本
  19. hadoop集群namenode同时挂datanode
  20. 一个简单python爬虫的实现——爬取电影信息

热门文章

  1. Oracle 存储过程中的临时表数据自动清空
  2. JavaScript基础关于JSON(011)
  3. svn和GitHub的使用
  4. 洛谷 P3916 【图的遍历】
  5. 编辑器之神_vim
  6. 小程序被冻结,忘记原始ID,如何找回?
  7. MySQL 树形索引结构 B树 B+树
  8. Codeforces 1292C Xenon's Attack on the Gangs 题解
  9. BFC原理解析
  10. 智联家园-四大人工智能虚拟形象首秀MV