欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

python基础学习Day8:匿名函数lambda、内置函数一、内置函数二(min和max函数、zip拉链函数、map映射函数、reduce)、拆包、异常种类、异常处理、抛出异常

时间:2023-05-25
一、匿名函数lambda 1、lambda的定义和使用

语法: 函数名 = lambda 形参:返回值

lambda 是定义匿名函数的关键字,相当于函数的def。

调用: 结果 = 函数名(实参)

lambda不需要与return来返回值,表达式本事就是返回值。

2、匿名函数和if—else的组合使用 二、内置函数一

print():频幕输出

set():创建一个无序不重复的元素集

list():将一个可迭代对象转换成列表

tuple():将一个可迭代对象转换成元组

abs():返回绝对值

sum():求和 

三、内置函数二 1、min()求最小值和max()求最大值 2、zip()拉链函数 

zip()拉链函数:函数将可迭代对象作为参数,将里面对应的元素打包成一个元组。

 

当元素个数不一致时,会按照长度最短的返回

3、map()映射函数

语法:map(函数,对象)

map()映射函数:函数将可迭代对象中每一个元素来进行映射,分别执行函数。

下图的代码逻辑:分别将列表li中的元素作为x值传入func(x)函数中,并将返回的值通过list()函数放入同一个列表中,执行结束后返回一个列表结果。

4、reduce()函数

导入模块:from functools reduce

语法:reduce(函数,对象)

reduce()函数必须接收两个参数,接收对象为可迭代对象

 下图的代码逻辑:先将列表li中的两个元素1和2传入add(x,y)函数中,并将得的结果3保留,然后再将第一次相加的结果3和列表中的3一起放入add(x,y)函数中,直到列表中所有元素都使用到才结束。

将上图的代码进行简化:

四、拆包

 拆包:对于函数中的多个返回数据,去掉元组、列表或者字典,直接获取里面数据的过程。

列表的拆包:

元组的拆包:

五、异常种类  1、异常的定义

异常: 异常是程序执行过程中出现的非正常流程现象。

针对程序出现的异常现象要制定合理有效的处理方案, 不仅要避免异常现象的出现, 还要在异常出现后设计针对性的有效处理方案。

当Python检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常" 。

AttributeError: 试图访问一个对象没有的属性

IOError: 输入/输出异常;基本上是无法打开文件

importError: 无法引入模块或包;基本上是路径问题或名称错误

IndentationError: 语法错误(的子类) ;代码没有正确对齐

IndexError: 下标索引超出序列边界

KeyError: 试图访问字典里不存在的键

KeyboardInterrupt: Ctrl+C被按下

NameError: 使用一个还未被赋予对象的变量

SyntaxError: Python代码非法,代码不能编译

TypeError: 传入对象类型与要求的不符合

ValueError: 传入一个调用者不期望的值

六、异常处理 1、捕获异常格式

语法格式一:         try:              

                                        可能引发异常现象的代码   或 不确定是否能够正常执行的代码                 

                               except 异常类型:              

                                        出现异常现象的处理代码  或 编写尝试失败的代码

正常输出报错内容:

Exception是万能异常,可以捕获任何异常:

 

语法格式二:         try:                 

                                        可能引发异常现象的代码         

                            except: (可以没有)                 

                                        出现异常现象的处理代码         

                           else:                 

                                        未出现异常现象的处理代码 

if……except……else中如果没有捕获到异常,那么就执行else中的代码。

语法格式三:         try:    必选             

                                        可能引发异常现象的代码         

                            except:    必选: 二选一                 

                                        出现异常现象的处理代码         

                            else:    可选                     

                                        未出现异常现象的处理代码         

                            finally:    必选:二选一                 

                                        try代码块结束后运行的代码

finally无论是否有异常,都会执行代码。

七、抛出异常:raise

使用步骤:

1、创建一个Exception('xxx')对象, xxx表示异常提示信息

2、raise抛出这个对象

 

 

 

 

 

 

 

 

 

 

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。