标签:生成器 == 分享 nbsp UNC __next__ code src div
什么是生成器:
生产器函数:
def test(): yield 1 #yield相当于return 但是可以return多次 yield 2 yield 3 g=test() print(‘来自函数‘,g) print(g.__next__()) print(g.__next__())
#三元表达式
name=‘alex‘ res = ‘SB‘ if name == ‘alex‘ else ‘帅哥‘ #意思就是如果nam是alex返回的就是SB,如果不过则返回帅哥,三元就是if 以及如果ture返回的 以及如果false返回的值
print(res)
#列表解析是第一个代码块,坏处就是占内存
egg_list=[]
for i in range(10): #一般操作
egg_list.append(‘鸡蛋%s‘ %i)
print(egg_list)
l=[‘鸡蛋%s‘ %i for i in range(10)] #也可以两元
l1=[‘鸡蛋%s‘ %i for i in range(10) if i > 5 ] #这就是一个三元表达式
l1=[‘鸡蛋%s‘ %i for i in range(10) if i > 5 else i] #没有四元表达式
l2=[‘鸡蛋%s‘ %i for i in range(10) if i < 5] #不能加else但是可以改条件
#如果不要鸡蛋而是要老母鸡自己生鸡蛋
laomuji=(‘鸡蛋%s‘ %i for i in range(10)) #生成器表达式,就是把上边的列表解析的中括号改成小括号
print(laomuji)
print(laomuji.__next__())
print(next(laomuji))
l=[1,2,3,34]
map(func,l)
print(sum(l))
print(sum())
print(sum(i for i in range(10000000000000))) #sum里面就是一个生成器 sum是内置函数自己运行迭代
标签:生成器 == 分享 nbsp UNC __next__ code src div
原文地址:https://www.cnblogs.com/newt/p/9007401.html