zoukankan      html  css  js  c++  java
  • 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)



































  • 相关阅读:
    思念
    空白
    curl json string with variable All In One
    virtual scroll list All In One
    corejs & RegExp error All In One
    socket.io All In One
    vue camelCase vs PascalCase vs kebabcase All In One
    element ui 表单校验,非必填字段校验 All In One
    github 定时任务 UTC 时间不准确 bug All In One
    input range & color picker All In One
  • 原文地址:https://www.cnblogs.com/yizhixiaowenzi/p/6032528.html
Copyright © 2011-2022 走看看