day10-函数进阶
函数的返回值
-
什么是函数返回值
返回值就是从函数内部传递到函数外部的数据(默认情况下函数内部产生的新数据,在函数外部不能使用) -
怎么确定函数返回值
1)python中每个函数都有返回值,返回值是什么就看执行函数体的时候遇到的return关键字后面的数据是什么;如果没有遇到return,返回值就是None。(希望作为返回值的数据在函数结束的时候放在return后面)
2)return的作用
遇到return会确定函数返回值并且直接结束函数 -
怎么在函数外部获取函数返回值
函数调用表达式的值就是函数的返回值,所以在函数的外部获取函数调用表达式的值就是在获取函数的返回值
有多个返回值的时候实质上是返回一个元组
全局变量和局部变量
- 什么是全局变量和局部变量
按照变量的作用域不同将变量分为全局和局部两种
1)全局变量
定义在函数和类外面的变量就是全局变量
作用域:从定义开始到文件结束的任意位置
2)局部变量
定义在函数内部的变量就是局部变量
作用域:从定义开始到函数结束
函数的形参也是局部变量
补充:函数调用过程内存的变化
每次调用一个函数的时候系统会自动在栈区间开辟一个临时的内存空间,用来保存在函数中产生的数据(定义的变量),当函数调用结束后这块内存会自动释放(销毁) - global和nonlocal
1)global
在函数内部定义全局变量,且只能在函数体中使用
用法:
global 变量名
变量名 = 数据
2)nonlocal
在局部的局部中修改一个局部变量的值
用法同 global
匿名函数
什么是匿名函数
匿名函数的本质是函数;在定义的时候不需要函数名(一般情况下不会使用匿名函数,在调用实参高阶函数的时候用得比较多)
语法:
lambda 形参列表:返回值
相当于
def (形参列表):
return 返回值