python学习道路(day5note)(列表生成式,生成器,装饰器,常用模块)

生成列表的方式
data = [1,2,3]  需求   每个数字加上1
# data = ( x*2 for x in range(5))
print(data)
 
列表生成式
后面的I赋予加1操作,i+q只能放在前面
 
加上三元运算可以
 
生成器 (惰性运算,算到哪个值就到哪个值,往后就不算了)就是一个推到行算法
中括号叫做列表生成式,小括号叫做生成器
从左到右执行  当我访问到后面的数时候,前面的就没了
这样也是可以取值的,从左到右
 
斐波拉契数列
###
###
 
 
转为生成器
加了yield 叫做生生成器,不加叫做函数。
####
####互换值
 
 
 
 
并发
 
 
 
 
迭代器
 
所有的生成器肯定是迭代器,但是迭代器不一定是生成器(iter方法认为一个迭代器就是迭代器,本质来讲是一回事)
生成迭代器的方法
 
 
 
装饰器
 
 
导入模块路径
第一个是导入模块
第二个是导入模块方法
 
获取上一级目录
在获取上一级目录
这一条加上就完全可以在任何目录下导入
 
标准模块
json序列化
 
上面是序列化,避免了需要转化为字符串的
 
上面是反序列化,避免了需要转化为字典的
 
 
 
 
pickle
上面是pickle序列化方法
 
上面是pickle反序列化
 
json只能序列化一般的数据类型,但是复杂的类型就需要pickle,而且只能用于自己的语言
 
 
 
软件目录结构规范
项目Foo
Foo/|   |-- foo|   |   |-- __init__.py
|   |   |-- test_main.py
|   |
|   |-- __init__.py
|   |-- main.py    程序的主入口
|
|-- docs/  文档
|   |-- conf.py
|   |-- abc.rst
|
|-- setup.py  安装第三方库
|-- requirements.txt  第三方包
|-- README
 
 
关于readme