• day4 函数


    面向对象:--》类--》class

    面向过程:--》过程--》def

    函数式编程:--》函数--》def


    函数是逻辑结构化和过程化的一种编程方法
    使用函数的三大优点:减少代码重复性;保持一致性;可扩展性
    函数返回值的作用:作为后面程序逻辑判断的依据
    函数的返回值不是只为数字
    函数的调用:位置参数调用:与形参一一对应
    关键字参数调用:与形参位置无关
    关键参数写在位置参数后面
    默认参数 特点:调用函数时,默认参数可有可无。
    用途:程序默认安装路径;连接服务器默认端口
    非固定参数 **kwargs---》字典 把n个关键字参数,转化为字典
    *args---》元组 把n个位置参数,转化为元组
    定义函数时,参数组要放在最后

    global 调用全局变量

    返回值作用:函数经过调用并开始执行,那函数外部程序就无法再控制函数执行的过程了,此时外部程序只能等待函数的执行结果了。
    因为外部程序要根据函数的执行结构来决定下一步怎么走,


    函数里可以嵌套函数
    嵌套函数:函数里嵌套其它函数
    递归函数:函数里嵌套自身
         递归特性:1. 必须有一个明确的结束条件

             2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

             3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈                                           帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

      匿名函数就是不需要显式的指定函数

          #这段代码
          def calc(n):
          return n**n
          print(calc(10))
          #换成匿名函数
          calc = lambda n:n**n
          print(calc(10))

      匿名函数主要是和其它函数搭配使用

          res = map(lambda x:x**2,[1,5,7,4,8])
          for i in res:
          print(i)





    高阶函数
    变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数

        def add(x,y,f):
        return f(x) + f(y)
        res = add(3,-6,abs)
        print(res)



































  • 相关阅读:
    [Go] 理解(*interface{})(nil) 赋值的变量是否为nil
    [Linux] 理解CPU缓存的伪共享问题
    [MySQL] 理解InnoDB并发高的原因
    [Go] 理解计算机负数的表示以及整数范围
    [Go]理解golang项目性能分析工具trace
    [Go]理解golang项目性能分析工具PProf
    [Go] 理解切片slice扩容
    [javascript]解决多个版本的jquery库或者$冲突
    [Linux] 理解Reactor 模型
    [Linux] 理解I/O多路复用
  • 原文地址:https://www.cnblogs.com/yizhixiaowenzi/p/6032528.html
Copyright © 2020-2023  润新知