高阶函数:1.  函数名是一个变量,函数名可以进行赋值

2. 函数名可以作为函数参数,还可以作为函数返回值(函数名称作为函数返回值时返回的是:函数的地址;print 这个返回值的调用相当于执行这个函数。 函数调用作为函数返回值相当于返回这个函数的执行结果)

def f(n):
return n*n
def foo(a, b, func):
return func(a)+func(b) print(foo(1, 2, f)) # >>> 5

递归函数:

  1. 调用自身函数
  2. 设置结束条件
  3. 每次进入更深一层递归时,问题规模相比上一层都有所减少
  4. 但凡是递归可以写的函数,循环都可以解决
  5. 递归的效率在很多时候非常低,递归层次过多会导致栈溢出

经典案例:斐波那切数列

# 0 1 1 2 3 5 8 13 21
# febo(1) = 0 febo(2) = 1 febo(3) = 1
# febo(n) = feb(n-1) + feb (n-2)
def febo(n):
if n == 1:
return 0
if n == 2:
return 1
return febo(n-1)+febo(n-2) print(febo(4))

内置函数:

参考如下博客:https://www.cnblogs.com/y-m-f/p/7764798.html

重要内置函数:

  1. ret = filter(func, str):实现一个过滤器的功能,python3返回一个迭代器对象,python2返回一个元组。

可以通过list()将迭代器对象转为列表。list(ret)

2. ret = map(func, str):将序列每一个对象做一个处理

3. reduce(func, range(1, 101)):

如果想要在python3使用,需要引入:from functools import reduce

4. lambda:匿名函数。匿名函数命名规则,用lambda关键字标识,冒号(:)左侧标识函数接收的参数(a,b),冒号(:)右侧表示函数的返回值(a+b)。

因为 lambda 在创建时不需要命名,所以,叫匿名函数

如:  lambda a,b : a + b

from functools import reduce

print(reduce(lambda x, y: x * y , range(1, 6)))

14 python初学(高阶函数 递归函数 内置函数)的更多相关文章

  1. python学习8—函数之高阶函数与内置函数

    python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...

  2. day03 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 温故知新 1. 集合 主要作用: 去重 关系测 ...

  3. python基础知识15---三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

    阅读目录 一 三元表达式.列表推导式.生成器表达式 二 递归与二分法 三 匿名函数 四 内置函数 五 阶段性练习 一. 三元表达式.列表推导式.生成器表达式 1 三元表达式 name=input('姓 ...

  4. python之三元表达式、列表推导、生成器表达式、递归、匿名函数、内置函数

    目录 一 三元表达式 二 列表推到 三 生成器表达式 四 递归 五 匿名函数 六 内置函数 一.三元表达式 def max(x,y): return x if x>y else y print( ...

  5. Python之函数(自定义函数,内置函数,装饰器,迭代器,生成器)

    Python之函数(自定义函数,内置函数,装饰器,迭代器,生成器) 1.初始函数 2.函数嵌套及作用域 3.装饰器 4.迭代器和生成器 6.内置函数 7.递归函数 8.匿名函数

  6. python协程函数、递归、匿名函数与内置函数使用、模块与包

    目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a. ...

  7. python基础之函数式编程、匿名函数、内置函数

    一 函数式编程 不修改外部状态. 模仿数学里得函数进行编程. 用函数编程写出得代码相当精简. 可读性比较差. 例子: y=2*x+1 x=1 def test(x): return 2*x+1 tes ...

  8. python基础-匿名函数和内置函数

    匿名函数和内置函数 匿名函数:没有名字,使用一次即被收回,加括号就可以运行的函数. 语法:lambda 参数:返回值 使用方式: 将匿名函数赋值给变量,给匿名函数一个名字,使用这个变量来调用(还不如用 ...

  9. Python 入门基础12 --函数基础5 匿名函数、内置函数

    今日内容: 1.三元表达式 2.列表.元组生成式 | 字典生成式 3.递归 4.匿名函数 5.内置函数 一.三元表达式 三元运算符:就是 if...else... 语法糖 前提:if 和 else # ...

随机推荐

  1. java Web三大组件--监听器

    监听器概述 监听器(Listener)是一种特殊的Servlet技术,它可以监听Web应用的上下文信息.Servlet请求信息和Servlet会话信息,即ServletContext.ServletR ...

  2. Javascript 流程控制

    流程控制 JavaScript通过流程语句来执行程序流,程序流有若干语句组成.在正常情况下,程序中 的语句时按照书写顺序执行的,这种结构称为顺序结构.除了顺序结构之外还有选择结构和循环结构. 1.选择 ...

  3. 【软件需求工程与建模 - 小组项目】第6周 - 成果展示2 - 软件需求规格说明书V4.3

    成果展示2 - 软件需求规格说明书V4.3

  4. Keras实现卷积神经网络

    # -*- coding: utf-8 -*- """ Created on Sun Jan 20 11:25:29 2019 @author: zhen "& ...

  5. HanLP汉语言分析框架

    HanLP(Han Language Processing)是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用. HanLP具备功能完善.性能高效.架构清晰.语料时新. ...

  6. 极致精简的webservice集成例子

    极致精简的webservice例子   看了网上好多关于webservice的例子,基本上对初学者来说都是模棱两可云里雾里,现在,我将网上关于webservice的讲解提炼出来,通过一个最简单使用并且 ...

  7. SQL Server 锁实验(重建索引)

    昨晚某现场报一个重建索引失败的问题,远程查看后发现是自动收缩的内部会话引发的锁申请超时,突然想起来自己的加锁实验还没完成索引重建部分,今天有空正好做一下: USE [数据库名] GO ALTER IN ...

  8. Not Found woff 字体库

    原因是,默认在IIS上是没有添加对*.woff,*.svg文件的Mime类型,因此在客户端请求此类文件时得到的都是404. 所以我们只需要在我们对应网站下的Mime类型中添加文件对应的类型就行了 .w ...

  9. python 中文报错

    解决的办法为:在程序的开头写入如下代码,这就是中文注释 #coding=utf-8

  10. Windows Server 2016-清理残留域控信息

    本章紧接上文,当生产环境中域控出现问题无法修复以后,一方面我们需要考虑抢夺FSMO角色,另一方面我们需要考虑的问题是清理当前域控的残留信息,以防止残留数据信息导致用户验证或者解析异常等问题.本章讲到如 ...