# 推导式:通过循环去判断、遍历数据,生成结果数据
'''
语法:val for val in iterable
三种方式:
列表推导式[val for val in iterable]
字典推导式{a:b for a,b in iterable}
集合推导式{a for a in iterable}
'''
# 生成器
'''
概念:可以自定义逻辑的迭代器
区别与迭代器:
迭代器为内置的,生成器是自定义结构
生成器的创建两种方法:
(1)生成器表达式——区别于其他表达式:用()执行,(fuc(i) for i in iterable)
(2)生成器函数 (def定义,里面含有yield)
'''
# 1、生成器表达式
gen = (i*2 for i in range(1,11)
# 2、生成器函数
def igen():
yield 1
yield 2
yield 3
gen = igen() #gen为迭代器,next调用
# yield:
'''
函数返回值
区别于return ,yield执行完成后会继续执行函数中的其他内容
写法:yield (args) 或 yield args
'''