一、生成器定義及作用
生成器優點:
二、三元運算
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