一.生成式
1.列表生成式:
列表生成式就是一个用来生成列表的特定语法形式的表达式。是Python提供的一种生
成列表的简洁形式, 可快速生成一个新的list。
2.字典生成式用来快速生成字典;
3.集合生成式:用来快速生成集合;
二.生成器
1.
什么叫生成器
?
在
Python
中
,
一边循环一边计算的机制
,
称为
生成器
:Generator
。
2.什么时候需要使用生成器?
性能限制需要用到,
比如读取一个
10G
的文件
,
如果一次性将
10G
的文件加载到内存处理的话
(read
方法
),
内存肯定会溢出
;
但使用生成器把读写交叉处理进行
,
比如使用
(readline
和
readlines)
就可以
再循环读取的同时不断处理,这样就可以节省大量的内存空间.
3.如何创建生成器?
第一种方法: 列表生成式的改写。 []改成()
第二种方法: yield关键字
三.闭包
1.什么是闭包?
闭包就是指
有权访问另一个函数作用域中的变量
的函数。
2.创建闭包
创建闭包最常见方式,就是在一个函数内部创建另一个函数。
常见形式
:
内部函数使用了外部函数的临时变量
,
且外部函数的返回值是内部函数的引用
。
闭包的一个常用场景就是装饰器。
四.装饰器
1.装饰器概念
器指的是工具,而程序中的函数就是具备某一功能的工具,所以
装饰器指的是为被装饰器
对象添加额外功能的工具
/
函数
2.装饰器的实现必须遵循两大原则:
封闭
:
对已经实现的功能代码块封闭。
不修改被装饰对象的源代码
开放
:
对扩展开发
装饰器其实就是在遵循以上两个原则的前提下为被装饰对象添加新功能。
3.装饰器代码模板
4.利用装饰器实现音乐下载
五.异常处理机制
Python
的异常机制主要依赖
try
、
except
、
else
、
finally
和
raise
五个关键字。
1.try 关键字后缩进的代码块简称
try
块,它里面放置的是
可能引发异常的代码;
2.
except
关键字
对应异常类型和处理该异常的代码块;
3.多个
except
块
之后可以放一个
else
块,表明程序
不出现异常时
还要执行
else
块;
4.finally
块
用于回收在
try
块里打开的物理资源,异常机制会保证
finally
块
总被执行;
5.raise
用于
引发一个实际的异常
,
raise
可以单独作为语句使用,引发一个具体的异常对象