zoukankan      html  css  js  c++  java
  • 学习总结(十五)

    1.生成器send方法

    send的工作原理

    1.send发生信息给当前停止的yield
    2.再去调用__next__()方法,生成器接着往下指向,返回下一个yield值并停止

    2.递归

     递归:
     函数直接或间接调用本身,都称之为递归
     回溯:找寻答案的过程
     递推:推出结果的过程

     前提条件:
     1.递归必须有出口
     2.递归回溯递推的条件一定有规律

     案例一:获得第 count 个人的年纪

    def get_age(count):
        if count == 1:
            return 58
        # 第 九...一 个人 - 2
        age = get_age(count - 1) - 2
        return age
    
    age = get_age(3)
    print(age)
    

      

    # 案例二:求n的阶乘  5! = 5 * 4 * 3 * 2 * 1 = 120

    def jiecheng(n):
        if n == 1 or n == 0:
            return 1
        ji = n * jiecheng(n - 1)
        return ji
    res = jiecheng(5)
    print(res)
    

      

    3.匿名函数

    1)匿名函数:
    1.匿名函数没有函数名
    2.匿名函数的关键字采用lambda
    3.关键字 lambda 与标识函数功能体 : 之间一定是参数,所以省略()
    4.匿名还是没有函数体,只有返回值,所以函数体和返回值的return关键字都省略了

    lambda *args, **kwargs: '返回值'

    注意:
     1.参数的使用和有名函数一样,六种形参都支持
     2.返回值必须明确成一个值,可以为单个值对象,也可以为一个容器对象

     

    2)max结合匿名工作原理

         1.max内部会遍历iter,将遍历结果一一传给lambda的参数x
         2.依据lambda的返回值作为比较条件,得到最大条件下的那个遍历值
         3.对外返回最大的遍历值
           max(iter, lambda x: x)

        min()求最小值

        max()求最大值

  • 相关阅读:
    三元表达式、列表推导式、生成器表达式、递归、匿名函数
    nonlocal关键字、装饰器
    函数嵌套、作用域、闭包
    实参和形参
    函数基础
    文件操作
    字符编码
    推荐一个纯JavaScript编写的图表库——Highcharts
    推荐web 前端代码的编辑分享平台——RunJS
    了解腾讯
  • 原文地址:https://www.cnblogs.com/xzcvblogs/p/10815981.html
Copyright © 2011-2022 走看看