一、生成器定义及作用
生成器优点:
二、三元运算
name = "wangdoudou"
res = "帅哥" if name == "wangdoudou" else "大帅哥"
print("使用三元运算结果是:", res)
三、列表解析
list_test = ['鸡蛋%s' % i for i in range(10)]
print("使用列表解析的结果是:", list_test)
list_test1 = ['鸡蛋%s' % i for i in range(10) if i > 5]
print("列表解析使用三元表达式的结果是:", list_test1)
四、生成器表达式
1、使用生成器来模拟老母鸡一次下一个蛋
temp = ('鸡蛋%s' % i for i in range(10))
print(temp.__next__())
2、生成器函数示例:(此处计算量过大,可换个小点的数值做测试)
def shnegchengqi_test():
yield 1
yield 2
yield 3
sum(i for i in range(10000000000))
五、生成器的特性
优点二:有效提高代码可读性
# 不使用生成器
def xiadan():
ret = []
for i in range(100):
ret.append("鸡蛋%s" % i)
return ret
# 使用生成器
def xiadan():
for i in range(100):
yield "鸡蛋%s" % i