zoukankan      html  css  js  c++  java
  • 匿名函数和递归函数

    写匿名函数 : 接收两个参数,返回较大值(不用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.递归的最大深度是可以自己修改的,但是不建议你修改

    停不下来的递归函数早晚会报错
    了解递归/正确的递归函数
  • 相关阅读:
    截图与图片合成的几种方法
    GPUImage 自定义滤镜
    How do I solve the error: An error was encountered while running (Domain = LaunchServicesError, Code = 0) ?
    tableview 重用nib cell
    开发DZ插件教程
    QBImagePickerController 用法
    ALAsset和ALAssetRepresentation
    if exists和if not exists关键字用法
    Java socket 超时
    Android 图片的压缩
  • 原文地址:https://www.cnblogs.com/F18866/p/9958066.html
Copyright © 2011-2022 走看看