1.生成式
生成式:用来快速生成某一个数据类型的式子
列表生成式:是一个用来生成列表的特定语法形式的表达式[ ]
字典生成式:用来快速生成字典{ }
集合生成式:用来快速生成集合{ }
列表生成式:
#需求:已知:x=1....10 ,求y=2x+8,将求出的所有y值存储到列表中
#列表生成式中for循环里面可以嵌套if语句,也可以嵌套for语句。
result = [ 2*x + 8 for x in range(1,11) if x%2==0 ]
print(result)
result = [ 2*x + 8 for x in range(1,11) if x%2==0 ]
print(result)
集合生成式:
#需求:1,2,3,4,...10的平方
字典声生成式:
2.生成器
• 什么叫生成器?在Python中,一边循环一边计算的机制,称为生成器:Generator。• 什么时候需要使用生成器?性能限制需要用到,比如读取一个10G的文件,如果一次性将10G的文件加载到内存处理的话(read方法),内存肯定会溢出;但使用生成器把读写交叉处理进行,比如使用(readline和readlines)就可以再循环读取的同时不断处理,这样就可以节省大量的内存空间
如何创建生成器
第一种方法:列表生成式的改写,[] 改成()
第二种方法: yield关键字 面试点:return和yield的区别
return : 函数中遇到return,函数执行结束,后面的代码不会继续执行
yield : 函数中遇到yield关键字,函数执行停止,直到调用下一个next函数,从停止的地方继续执行
3.闭包
闭包就是指有权访问另一个函数作用域中的变量的函数。
闭包需要满足的三个条件:
1)函数里面嵌套函数
2)内部函数使用外部函数的变量
3)外部函数的返回值是内部函数的引用