• 函数进阶


    返回值

    从函数里面传递到函数外的数据

    怎么返回数据

    return 关键字后面表达式的值

    • 语法:

    ​ return 参数1,参数2,...

    • 说明:

    ​ return,只能出现在函数中

    ​ 将数据从函数内容从函数内部扔到函数的外部

    ​ 结束函数(执行函数的时候只要遇到return函数直接结束)

    • 表达式:可以一个都没有,可以有一个,也可以有多个(本质返回的是元组)。没有返回值返回None

    怎么使用返回的数据

    返回值就是函数调用表达式的值

    普通数据能做的事,函数表达式也能做。

    函数调用过程

    第一步:回到函数定义的位置

    第二步:传参(实参给形参赋值)

    第三步:执行函数体

    第四步:执行完函数体,确定返回值。(a.执行完函数体中的最后一条语句 b.遇到return),确定函数返回值(执行函数时有没有遇到return,遇到则是return后的值,没有return返回值为None。

    第五步:回到函数调用的位置往后执行(这个时候函数调用表达式的值就是函数的返回值)

    全局变量和局部变量

    所有的数据都在堆里,保存地址的变量在栈里面

    堆(存数据)

    栈(存地址、函数的栈)

    • 函数调用过程中内存的变化

    每次在函数调用的时候,系统会自动为这个函数创建一个独立的栈空间,用来保存函数运行过程中产生的数据(函数的参数;函数的参数声明的变量);当函数调用结束后这个栈区间会自动销毁。(压栈)

    1)全局变量

    没有定义在函数里面或者类里面的变量就是全局变量。

    作用域:从定义开始到程序结束的任何位置都可以使用

    循环里面的声明的变量也是全局变量

    2)局部变量

    定义在函数中变量就是局部变量

    作用域:从定义开始到函数结束的任何位置都可以使用

    形参是局部变量,定义函数时给形参赋的默认值,其实是保存在堆里面。

    3)global和nonlocal

    • global:在函数中声明全局变量
    • nonlocal:在局部的局部中去修改局部变量的值,使用nonlocal。

    匿名函数

    什么是匿名函数?

    匿名函数本质还是函数,普通函数中除了定义的语法,其他全部适用于匿名函数。

    lambda 形参列表:返回值

    用于一些简单的函数

    说明:

    lambda - 关键字,固定写法

    形参列表 - 形参1,形参2,...
      		-		固定写法
    

    递归

    在函数的内部调用函数本身(自己调用自己)

    第一步:确定临界值(在临界值的位置结束函数)

    第二步:找关系(找当次循环(f(n))和上一次循环(f(n-1))之间的关系

    第三步:假设函数功能已经实现,用f(n-1)去实现f(n)的功能

    函数就是变量

    python中定义函数其实就是定义一个类型是function的变量,函数名就是变量名。

    高阶函数

    实参高阶函数

    一个函数的参数是函数,就是实参高阶函数。

    系统提供的常见的实参高阶函数

    max、min、sorted:都是实参高阶函数,参数key需要一个函数;被传入的函数需要一个参数和一个返回值,这个参数指向的是序列中的元素,返回值是要比较的对象。

    map:将序列中所有的元素按照函数指定的规则进行转换,返回的是转换后的序列。

    reduce(函数,序列) - 对序列中的元素按照函数提供的功能进行累积的操作。函数需要两个参数只想前两个元素,需要一个返回值。

    返回值高阶函数

    返回值高阶函数:返回值是函数的函数

  • 相关阅读:
    Java集合概述
    Java8内存结构—永久代(PermGen)和元空间(Metaspace)
    ArrayList分析
    “三次握手,四次挥手”你真的懂吗?
    Object中的方法以及对象相等的判定
    笔记
    Mybatis中的@Param注解
    react与jQuery对比,有空的时候再翻译一下
    队列理论和队列网络模型 queueing theory and queueing network model
    下拉列表autocomplete各种实现方式比较
  • 原文地址:https://www.cnblogs.com/nongma-reddy/p/13200962.html
Copyright © 2020-2023  润新知