14 python初学(高阶函数 递归函数 内置函数)

高阶函数: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

原文地址:https://www.cnblogs.com/mlllily/p/10257691.html

时间: 2024-07-31 18:19:18

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

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

目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a.生成器相关python函数.装饰器.迭代器.生成器,我们是如何使用生成器的.一个生成器能暂停执行并返回一个中间的结果这就是 yield 语句的功能 : 返回一个中间值给调用者并暂停执行. 我们的调用方式为yeild 1的方式,此方式又称为生成器的语句形式. 而使用生成器的场景:使用生成器最好的场景就

Python 基础第十四天(内置函数和匿名函数)

今天主要内容 1.生成器补充--生成器推导式 2.内置函数 3.匿名函数 1.生成器推导式 (1)列表推导式:一行搞定 ,简单,感觉高端.但是,不易排错. 例: l1 = [] for i in range(1,12):  l1.append('python%s期' % i) print(l1) 生成式: l2 = ['python%s期' %i  i  for i in range(1,12)] print(l2) 结构: 循环模式[经过加工的i for i in 可迭代对象] 筛选模式 [经

Python这7个好用内置函数!

这篇文章我们来看几个很有用的 Python 内置函数 ,我认为每个学习 Python的 都应该知道这些函数. 对于每个函数,我会使用一个普通的实现来和内置函数做对比. 如果我直接引用了内置函数的文档,请理解,因为这些函数文档写的非常棒! all(iterable) 如果可迭代的对象(数组,字符串,列表等,下同)中的元素都是 true (或者为空)的话返回 True . _all = True for item in iterable: if not item: _all = False brea

JavaScript原生函数(内置函数)

1.JavaScript原生函数(内置函数) JavaScript原生函数(内置函数)有: String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol() 2.创建内置函数 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> &l

二、Python开发---13、高阶函数与内置函数

常用高阶函数 #map list01 = [1,3,5,7,9] new_list01=map(lambda x:x*2,list01) print(list(new_list01)) #输出为[2, 6, 10, 14, 18] 将map对象转换为list list02 = [2,4,6,8,10] new_list02 = map(lambda x,y:x*y,list01,list02) print(new_list02) #<map object at 0x0000000001F0A51

Python函数,匿名函数,高阶函数,内置函数——08

函数 当一个函数的返回值是另一个函数的函数名时,只是返回该函数的内存地址,该函数的作用域不会发生改变. name = 'winsodm' def test(): name = 'xl' print('in the test') def test1(): print('in the test1') return test res = test1() res() #结果是: name = 'xl' 'in the test' #这里返回的test 之后运行 还是输入test里的变量name的值,而不

Day3-递归函数、高阶函数、匿名函数、内置函数

一.递归函数 定义:函数内部可以调用其它函数,如果调用自身,就叫递归. 递归特性: 1.必须有结束条件退出: >>> def calc(n): ... print(n) ... return calc(n+1) ... >>> calc(0) 0 1 ... 998 RecursionError: maximum recursion depth exceeded while calling a Python object 分析: 没有结束条件,超过最大递归次数999次后

高阶函数、内置函数

高阶函数:就是把函数当成参数传递的一种函数 python函数式编程 高阶函数:就是把函数当成参数传递的一种函数 1.函数名可以进行赋值: 2.函数名可以作为函数参数,还可以作为函数的返回值: a.函数是第一类对象 b.函数可以被赋值 c.可以被当做参数 d.可以当做返回值 e.可以作为容器类型的元素 def f(n): return n*n def foo(a,b,func): ret = func(a) + func(b) return ret foo(1,2,f) print(foo(1,2

python 全栈 python基础 (十三)匿名函数 与 内置函数

一.匿名函数  1.定义: 匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序. 2.语法格式:lambda 参数:表达式 lambda语句中,开头先写关键字lambda,冒号前是参数,可以有多个,用逗号隔开:冒号右边的为表达式,需要注意的是只能有一个表达式.由于lambda返回的是函数对象(构建的是一个函数对象),所以需要定义一个变量去接收.  3.注意点:lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值.lambda 函数不能包含命令,包含