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)



































  • 相关阅读:
    下载、安装、编译 QTLtools
    解决方案:使用QTLtools进行表型PCA分析,得到了一堆NA
    报错:terminate called after throwing an instance of 'std::length_error' what(): basic_string::_S_create
    使用 bcftools 进行基因型过滤(genotypes QC)
    使用 QTLtools 进行 PCA 分析
    生物信息学博士后招聘:香港浸会大学张璐博士和卞兆祥教授联合招聘
    Error in getNodeSet(html, path = "//div[@class='plain-box float-right archive-box']")[[1]] : 下标出界
    说说程序员写文档这事
    碎碎念五十
    计算一个服务端方法运行多次的平均耗时(Java)
  • 原文地址:https://www.cnblogs.com/yizhixiaowenzi/p/6032528.html
Copyright © 2011-2022 走看看