-
函数的返回值:将函数内部的数据传到到函数外部的值
1)返回值:函数体内return后的值就是函数返回值,默认返回None
2)return:关键字,用于函数内,结束函数,并向函数外部传递值
3)获取返回值:函数调用表达式的值就是函数的返回值
-
函数调用过程:
1)执行过程:
a. 回到函数声明位置
b. 传参
c.执行函数体
d.执行完函数体,确定返回值:是否遇到return
e.回到函数调用位置:这时函数调用表达式的值才是函数返回值
2)内存变化:函数的调用过程是一个压栈的过程,调用函数时系统会自动在栈区间开辟一个专用内存区域,专门用来保存函数中声明的变量和产生的数据,函数调用结束时,内存区域会自动销毁,并扔出返回值
-
变量的作用域:变量可以使用的范围
1)全局变量:声明在函数或者类外部的的变量;用域是从声明开始都文件结束
2)局部变量:声明在函数内部的变量(包括形参);作用域从声明开始到函数结束;
3)global和nonlocal:只能在函数体中使用
global:在函数中给变量赋值前加‘global 变量名’,声明全局变量
nonlocal:在函数中给变量赋值前加‘nonloacal 变量名’
-
匿名函数:lambda,除了声明语法外其他语法基本适用于匿名函数
1)声明:lambda 参数列表:返回值
2)说明:功能有限(不支持类型说明),结合高阶函数使用
lambda:关键字,固定写法
参数列表:形参,参数名1,参数名2...
返回值:相当于return语句
3)调用:函数名 = lambda 参数列表:返回值 ---> 函数名()
-
递归函数:声明函数调用函数本身,可以实现循环效果,消耗内存,尽量别用
1)使用:使用条件触发=递归函数能力-循环能力
a. 设置临界值:循环结束条件,并且保证函数结束
b. 找关系:f(n)和f(n-1)的关系
c. 假设函数功能已经实现,通过f(n-1)去实现f(n)的功能
2019-11-15-Python函数进阶
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
- 原文链接:https://github.com/EasyKotlin 值就是函数,函数就是值。所有函数都消费函数,...