1 .匿名函数
写法:
普通函数:
def 函数名():
函数体
匿名函数:
函数名 = lambda 参数列表:返回值
说明:
函数名--->变量名
lambda--->关键字
参数列表 --->参数名1,参数名2....
: --->固定写法
返回值--->相当于只有一个return语句的函数体
匿名函数和普通函数一样:函数名(实参列表)也支持位置参数,关键字参数,默认值,不定长参数
练习:
写一个匿名函数,功能是求两个数的和。
image.png
读函数
image.png
2.变量的作用域
1.变量的作用域
变量的作用域值的是变量能够使用的范围
2.全局变量
全局变量:声明在函数和类的外面的变量都是全局变量;作用 域是从声明开始,到整个py文件结束(任何地方都可以使用)
image.png
3.局部变量
声明函数和类中都是局部变量,声明在函数的局部变量,作用域是从声明开始到整个函数结束
image.png
4.global关键字
在函数中说明一个变量是全局变量
注意:只能在函数中使用
image.png
5.nonlocal关键字
想要在局部的局部修改变量的值
image.png
4.函数作为变量
声明函数就是声明一个类型是function的变量,函数名实质就是变量名。
image.png1.变量可以给其他变量赋值
image.png image.png2.函数作为列表的元素
image.png3.将函数作为参数
image.png应用:sort的使用
列表.sort(key=None,reverse=False)
使用sort的时候,可以通过给key赋一个函数变量,来规定列表中的元素按照什么标准来排序。
这儿的函数变量要求有一个参数和一个返回值,参数代表列表中的元素,返回值代表按照那个标准排序
image.png
4.将函数作为返回值
image.pngimage.png
5.函数的调用
补充:python中的函数可以有多个返回值
image.png2.函数的调用过程是一个压栈的过程
每次调用函数的时候,系统都会在内存中(栈)开辟空间来存储函数执行过程中产生数据(函数中声明的变量)。
当函数调用完成后,这块内存会自动销毁。
6.递归函数(了解)
1..什么是递归函数
递归函数:函数中调用函数本身,这样的函数就是递归函数(自己调自己)
循环能做的事情递归都可以做,但是实际上循环能解决的问题绝对不选递归
image.png
2.
怎么写递归函数
第一步:确定临界值(循环结束的条件), 让函数结束
第二步:找关系,假设函数的功能已经实现,找f(n)和f(n-1)的关系
第三步:根据关系,用f(n-1)实现f(n)的功能
image.png
用递归实现以下功能
"""
n = 3
**
n = 4
**
f(n)和f(n-1)的关系:
先打印n颗星
f(n-1)
网友评论