匿名函数和递归函数

写匿名函数 : 接收两个参数,返回较大值(不用max内置函数)
f1 = lambda a,b : max(a,b)
f2 = lambda a,b : a if a>b else b

匿名函数
定义
匿名函数的内存地址 = lambda 参数1,参数2 : 返回值/返回值的表达式
调用
接收返回值 = 匿名函数的内存地址(参数)
什么是递归(Recursion) : 递/归
函数的递归 : 在一个函数的内部调用它自己
while True:
print('从前有座山,山里有座庙,庙里有个老和尚讲故事')

def story():
print('从前有座山,山里有座庙,庙里有个老和尚讲故事')
story()
story()
RecursionError: maximum recursion depth exceeded while calling a Python object
超过了递归的最大深度
递归的最大深度是多少?
n = 0
def func():
global n
n += 1
print(n)
func()
func()
import sys
print(sys.getrecursionlimit()) # 查看递归的最大深度
官网上 源码中设置的 : 1000
自己实际测试的 : 998

如果你的递归每次都要超过限制 不适合用递归来解决
为什么要有限制? 内存消耗的保护机制
def func():
a = 1
b = 2
func()
func()

import sys
sys.setrecursionlimit(1000000) # 设置递归的最大深度
n = 0
def func():
global n
n += 1
print(n)
func()
func()

总结
1.递归函数的定义 :一个函数在执行的过程中调用了自己
2.递归在python中的最大深度 : 1000/998
3.递归的最大深度是可以自己修改的,但是不建议你修改

停不下来的递归函数早晚会报错
了解递归/正确的递归函数
什么是递归(Recursion) : 递/归
函数的递归 : 在一个函数的内部调用它自己
while True:
print('从前有座山,山里有座庙,庙里有个老和尚讲故事')

def story():
print('从前有座山,山里有座庙,庙里有个老和尚讲故事')
story()
story()
RecursionError: maximum recursion depth exceeded while calling a Python object
超过了递归的最大深度
递归的最大深度是多少?
n = 0
def func():
global n
n += 1
print(n)
func()
func()
import sys
print(sys.getrecursionlimit()) # 查看递归的最大深度
官网上 源码中设置的 : 1000
自己实际测试的 : 998

如果你的递归每次都要超过限制 不适合用递归来解决
为什么要有限制? 内存消耗的保护机制
def func():
a = 1
b = 2
func()
func()

import sys
sys.setrecursionlimit(1000000) # 设置递归的最大深度
n = 0
def func():
global n
n += 1
print(n)
func()
func()

总结
1.递归函数的定义 :一个函数在执行的过程中调用了自己
2.递归在python中的最大深度 : 1000/998
3.递归的最大深度是可以自己修改的,但是不建议你修改

停不下来的递归函数早晚会报错
了解递归/正确的递归函数

转载于:https://www.cnblogs.com/F18866/p/9958066.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值