博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生成器和生成器函数以及各种推导式
阅读量:4568 次
发布时间:2019-06-08

本文共 665 字,大约阅读时间需要 2 分钟。

1. 生成器

本质就是迭代器.
一个一个的创建对象
创建生成器的方式:
1. 生成器函数
2. 通过生成器表达式来获取生成器
3. 类型转换(看不到)
2. 生成器函数 (重点)
生成器函数中包含 yield , 返回数据和return差不多.
return会立即结束这个函数的执行
yield 可以分段的执行一个函数

生成器函数在执行的时候返回生成器. 而不是直接执行此函数

能向下执行的两个条件:

__next__(), 执行到下一个yield
send(), 执行到下一个yield, 给上一个yield位置传值

所有的生成器都是迭代器都可以直接使用for循环

都可以使用list()函数来获取到生成器内所有的数据

生成器中记录的是代码而不是函数的运行

def func():
print("我的天哪 ")

yield "宝宝"

gen = func() # 创建生成器. 此时运行会把生成器函数中的代码记录在内存

当执行到__next__(), 运行此空间中的代码, 运行到yield结束.

优点: 节省内存, 生成器本身就是代码. 几乎不占用内存

特点: 惰性机制, 只能向前. 不能反复

3. 各种推导式 (诡异)

列表推导式 [结果 for循环 if]
字典推导式 {结果(k:v) for循环 if}
集合推导式 {结果(k) for循环 if}

 

4. 生成器表达式 (重点)

(结果 for循环 if)

转载于:https://www.cnblogs.com/selina1997/p/10102787.html

你可能感兴趣的文章
《基于MVC的javascript web富应用开发》中的一些函数
查看>>
python爬虫抓取哈尔滨天气信息(静态爬虫)
查看>>
0014---简单的计算
查看>>
假期周进度报告6
查看>>
自己写的文字轮播(简陋版)
查看>>
TWaver在FTTX设备网管系统中的应用
查看>>
python入门笔记1
查看>>
【转】Ext JS xtype
查看>>
Word打不开老提示进入“安全模式”怎么办
查看>>
Linux 定时运行脚本、命令
查看>>
1python基础语法_11模块
查看>>
时间管理
查看>>
document.getElementsByTagName函数
查看>>
启停无线网卡bat脚本
查看>>
需求分析的故事——如何练就需求分析的火眼金晴?
查看>>
UIGestureRecognizer手势
查看>>
模拟http或https请求,实现ssl下的bugzilla登录、新增BUG,保持会话以及处理token
查看>>
Java的慢和稳
查看>>
日志框架SLF4J
查看>>
C# 内存管理优化畅想----前言
查看>>