生成器
列表生成式,列表的元素全部创建,但是有的时候我们只用的前几个元素,所以这样就造成了资源的浪费,占用系统内存;
例如,用列表生成1-100以及1-1000的值
如果数量少,生成的结果比较少,我们用列表生成式来计算结果,但是当结果比较大的时候,会过度消耗内存,所以需要一个更优的办法,我们就可以利用生成器来实现
如果要生成100万个元素,受到系统内存的限制,就可以使用生成器来实现.
生成器的元素是根据某种算法推算,当你需要的时候调用next方法,生成,可以节省大量的内存空间;
例:当我们要输出1-1000的值时,利用生成器的方法,并不是全部输出,而是你用g.next()调用一次,会生成一个值,再调用一次,会生成下一个值,以此类推
利用生成器的方式,来打印出菲波那契数列
实例:
利用生成器来完成简单的聊天机器人: