初学 Python(十四)——生成器
初学 Python,主要整理一些学习到的知识点,这次是生成器。
# -*- coding:utf-8 -*- ‘‘‘‘‘ 生成式的作用: 减少内存占有,不用一次性 创建list中所有的元素,而 是在需要的时候创建 ‘‘‘ #创建generator有2种方式 #第一种将列表表达式中的[]改为()即可 g = (x*x for x in range(10)) print g for n in g: print n #第二种,关键字yield def fab(max): n,a,b = 0,0,1 while n < max: yield b a,b = b,a+b n = n+1 g1 = fab(6) for n in g1: print n ‘‘‘‘‘ 再说区别: 为什么加了一个yield就变成了生成器? 因为yield一加,就不再像函数一样顺序执行 而是每次调用时,执行到yield时返回,下次再 调用时从yield后面的语句开始执行 ‘‘‘
时间: 2024-10-14 02:24:12