Python——17days

发布时间 2023-09-13 16:38:24作者: 拆尼斯、帕丁顿

匿名函数
常见的内置函数——配合匿名函数使用
map          

zip             
max
min
filter
可迭代对象
迭代器对象
for循环内部原理
异常捕获

 


匿名函数:
匿名函数也称为lambda函数,是一种没有函数名的函数。它是一种一次性的、在需要的时候定义,用完即丢弃的函数
例子:lambda x:x**2
lambda函数的语法结构:
lambda 形参:返回值
    dsf index(形参)
     
返回值
lambda argument:expression
arguments表示参数列表,可以是零个或多个参数,而expression则是一个表达式,用于计算函数的返回值

 

 在这个例子中,我们创建了一个lambda函数,将两个参数相加并返回结果。与使用def定义函数不同,我们使用lambda关键字来创建这个匿名函数

 

常见的内置函数 68

map ,zip,max,min,filter……

zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个元组, 然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同

 map() 会根据提供的函数对指定序列列做映射(lamda)

语法 : map(function, iterable)

可以对可迭代对象中的每一个元素进行映射. 分别去执行 function

 

 fiter() 过滤 (lamda)

语法:fiter(function. Iterable)

function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后根据function返回的True或者False来判断是否保留留此项数据 , Iterable: 可迭代对象

 

def func(i):                # 判断奇数
return i % 2 == 1
lst = [1,2,3,4,5,6,7,8,9]
l1 = filter(func, lst)    #l1是迭代器
print(l1) 
print(list(l1)

可迭代对象:

字符串   str
列表     list
元组     tuple
字典   dic
集合    set

如果一个对象实现了__iter__方法,那么这个对象就是可迭代对象

可迭代对象 iterable

 

迭代器 iterator

 

凡是可以for循环的都属于可迭代对象

 

凡是可以next的都是迭代器\

迭代器一定是可迭代对象!
迭代器对象
迭代器:
           内置有__iter__方法还内置有__next__方法

如何成为可迭代对象

 

对象实现了 _iter_ 方法
__iter__ 方法返回了迭代器对象

for循环内部原理:
1.首先把关键字in后面的可迭代对象转为迭代器对象
2.while循环取值__next__迭代取值,当next取值完毕的时候会报错
3.当内部报错的时候,for循环进行了异常捕捉

异常捕捉
什么是异常?
                 异常就是错误发生的信号,如果做处理,那么异常发生的位置之后的代码都不能正常运行
.Traceback,追踪信息,异常发生的位置
XXXError异常发生的类型

SyntaxError:语法错误
NameError:变量名错误
TypeError:类型错误

ZeroDivisionError:除数为零错误
IndexError:索引错误

KeyError:字典键错误

 

ValueError:值错误

异常的分类:
1.语法错误 (不允许出现)
2.逻辑错误   (尽量避免)
异常的处理办法:

在Python中,可以使用try-except语句来处理异常。try块中包含可能会出错的代码块,except块中则包含当发生异常时的处理代码。

 

在处理多个异常类型时,可以使用多个except语句。

例如

如果想捕获所有类型的异常,可以使用except语句的基本格式: