python_迭代_三元

迭代器协议:里面的next的方法,有些数据类型则通过先执行iter方法使遵循协议

迭代器:是遵循迭代器协议的一种数据类型

生成器:是一种数据类型,自动实现迭代器协议(也包含使用iter方法),所以生成器就是可迭代对象

生成器的分类可以分为两大类:生成器函数,生成器表达式

1,生成器函数,常规的函数定义,使用yieid语句而不是return语句,yieid语句一次返回一个结果,每个结果中间,挂起函数的状态,以便下次继续使用

def text():
    yield 1
    yield 2
    yield 3
moce = text()
print(moce.__next__())
print(moce.__next__())
print(moce.__next__())

 

 三元表达式:

name = 'wake'
#name = 'weal'
res = 'hehe' if name =='wake' else 'ww'
print(res)

将列表解析的[]换成()就是表达式生成器,生成器表达式更省内存

posted @ 2019-07-08 20:14  Alom  阅读(127)  评论(0编辑  收藏  举报