python中的匿名函数

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.png

1.变量可以给其他变量赋值

image.png
image.png

2.函数作为列表的元素

image.png

3.将函数作为参数

image.png

应用:sort的使用

列表.sort(key=None,reverse=False)
使用sort的时候,可以通过给key赋一个函数变量,来规定列表中的元素按照什么标准来排序。
这儿的函数变量要求有一个参数和一个返回值,参数代表列表中的元素,返回值代表按照那个标准排序

image.png

image.png

4.将函数作为返回值

image.png

image.png

5.函数的调用

补充:python中的函数可以有多个返回值

image.png

2.函数的调用过程是一个压栈的过程

每次调用函数的时候,系统都会在内存中(栈)开辟空间来存储函数执行过程中产生数据(函数中声明的变量)。
当函数调用完成后,这块内存会自动销毁。

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)

image.png

总结:递归,能不用就不用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,896评论 2 16
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,521评论 0 5
  • 四年前的今天,恰值光棍节! 你说你累了,再也无力坚持些什么。你说就陪我到这里! 突然,我好心疼,心疼你这六年,青春...
    琴瑟琵琶的肆意阅读 165评论 0 0
  • 厌烦了windows的终端,想和服务器保持一致的环境,想体验linux命令。在windows系统中安装虚拟机也许是...
    李傲娢阅读 503评论 0 0
  • 放学站队前滑冰跌倒的学生,非常危险。请班主任加强教育和监管。请安全科搞好结冰地段排查和化解 第23期校长荐读《广东...
    Yuki_zx阅读 201评论 0 0