高阶函数: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
递归函数:
- 调用自身函数
- 设置结束条件
- 每次进入更深一层递归时,问题规模相比上一层都有所减少
- 但凡是递归可以写的函数,循环都可以解决
- 递归的效率在很多时候非常低,递归层次过多会导致栈溢出
经典案例:斐波那切数列
# 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-10-03 01:40:30