• DAY16学习笔记


    匿名函数

      什么是匿名函数:匿名函数就是没有名字的函数,只能在定义时使用一次。

      为何要用匿名函数:强调:匿名函数的定义就相当于只产生一个变量值,而没有绑定任何名字。

                  所以在定义完就会被回收,无法重复使用,只能在定义时使用一次。

               应用:当某一个功能仅使用一次就没有再重复使用的必要时,就应该将其定义为匿名函数。

      如何用匿名函数:lambda x,y:x+y()

              可以与max,sorted,map,reduce,filter等函数连用。

              max:  salaries={  }

                   print(max(salaries,key=lambda k:salaries[k]))

              sorted: salaries={  }

                   print(sorted(salaries,key=lambda k:salaries[k]))

                   print(sorted(salaries,key=lambda k:salaries[k],reverse=True))

              map:  names = ['alex', 'wupeiqi', 'yuanhao', 'kevin', 'hu老师']

                   new_names=[]

                   for name in names:

                     new_names.append(name+'dsb')

                   print(new_names)

              reduce: names=['alex_dsb','wxx_sb','kevin_sb','hu_sb','egon']

                   from functools import reduce

                   print(reduce(lambda x,y:x+y,[i for i in range(101)],100))

              filter:  res=filter(lambda name:name.endswith("sb"),names)

                   print(res)

                   print(list)

    函数递归与二分法

      什么是函数递归:函数的递归调用是函数嵌套调用的一种特殊形式,特殊在调用一个函数的过程中又直接或间接的调用了该函数本身。

              递归本质就是一个循环的过程,但是递归必须满足两个原则

                              每进入下一层递归,问题的规模必须有所减少。

                              递归必须有一个明确的结束条件或者说有一个明确的进入下一层递归的条件。

                            并且递归有两个明确阶段

                              回溯:一层一层的递归调用下去。

                              递推:在某一层结束掉递归,然后一层一层的返回。

      为何要用递归:在某些情况下,基于递归来使用重复的过程比while循环更加简单。

      如何用递归:age(n)=age(n-1)+2         

            age(1)=18

            def age(n):

              if n == 1:

                return 18

              return age(n-1)+2

            res=age(5)

            print(res)

            

            list1=[1,[2,[3,[4,[5,[6,[7,[8,[9,]]]]]]]]]

            def func(l):

              for item in l:

                if type(item) is list:

                  func(item)

                else:

                  print(item)

            func(list1)

      二分法:二分法是一种算法,算法是如何高效解决问题的思路。

    面向过程编程

      核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么后干什么。

      基于该思想编写程序脑子里应该始终思考过程二字,就好比在设计一条流水线,是一种。

      机械式的思维方式。

      优点:复杂的问题的流程化,进而简单化。

      缺点:扩展性差。

  • 相关阅读:
    【Python应用:基于PyQt5文本识别】调用百度AI对一张或多张图片、文件夹中的图片和屏幕区域截图进行识别(PDF转Word 小意思)
    【Ubuntu搭建Django编程环境】:创建python虚拟开发环境和配置pip国内镜像源
    23种设计模式上篇
    荷兰国旗问题
    文件复制多份
    mybatis批量更新
    数组小和
    常见排序算法
    福尔摩斯的约会
    小明上学
  • 原文地址:https://www.cnblogs.com/lipengjia/p/9766403.html
Copyright © 2020-2023  润新知