2019-11-15-Python函数进阶

  1. 函数的返回值:将函数内部的数据传到到函数外部的值

    1)返回值:函数体内return后的值就是函数返回值,默认返回None

    2)return:关键字,用于函数内,结束函数,并向函数外部传递值

    3)获取返回值:函数调用表达式的值就是函数的返回值

  2. 函数调用过程:

    1)执行过程:

    ​ a. 回到函数声明位置

    ​ b. 传参

    ​ c.执行函数体

    ​ d.执行完函数体,确定返回值:是否遇到return

    ​ e.回到函数调用位置:这时函数调用表达式的值才是函数返回值

    2)内存变化:函数的调用过程是一个压栈的过程,调用函数时系统会自动在栈区间开辟一个专用内存区域,专门用来保存函数中声明的变量和产生的数据,函数调用结束时,内存区域会自动销毁,并扔出返回值

  3. 变量的作用域:变量可以使用的范围

    1)全局变量:声明在函数或者类外部的的变量;用域是从声明开始都文件结束

    2)局部变量:声明在函数内部的变量(包括形参);作用域从声明开始到函数结束;

    3)global和nonlocal:只能在函数体中使用

    ​ global:在函数中给变量赋值前加‘global 变量名’,声明全局变量

    ​ nonlocal:在函数中给变量赋值前加‘nonloacal 变量名’

  4. 匿名函数:lambda,除了声明语法外其他语法基本适用于匿名函数

    1)声明:lambda 参数列表:返回值

    2)说明:功能有限(不支持类型说明),结合高阶函数使用

    ​ lambda:关键字,固定写法

    ​ 参数列表:形参,参数名1,参数名2...

    ​ 返回值:相当于return语句

    3)调用:函数名 = lambda 参数列表:返回值 ---> 函数名()

  5. 递归函数:声明函数调用函数本身,可以实现循环效果,消耗内存,尽量别用

    1)使用:使用条件触发=递归函数能力-循环能力

    ​ a. 设置临界值:循环结束条件,并且保证函数结束

    ​ b. 找关系:f(n)和f(n-1)的关系

    ​ c. 假设函数功能已经实现,通过f(n-1)去实现f(n)的功能

你可能感兴趣的:(2019-11-15-Python函数进阶)