当前位置: 首页 > 网络应用技术

Python系列的一些发电机和迭代器

时间:2023-03-06 17:17:27 网络应用技术

  1.迭代设备只能穿越一次。迭代对象可以多次穿越。2.迭代器只能前进。迭代器必须在内部和下一个方法中同时实现。不一定是下一个方法

  1.迭代器必须同时实现迭代方法和下一个方法。发电机是一个特殊的iTener,支持内部的生成器协议。它不需要通过ITER方法和下一个方法清楚地实现。语法更简洁

  2.发电机用于生成元素,并使用迭代器访问元素

  3.发电机是特殊的迭代器,迭代器的内容输出发电机

  使用产量关键字的功能不再是功能,而是生成器。

  执行代码以屈服,然后返回结果。当下一个启动开始时,发电机将继续在暂停的位置下执行。

  每个发电机将返回一个值,并且可以多次返回多个值。

  您只能返回该值一次,将代码执行到返回语句,然后停止迭代

  迭代器:

  迭代器必须同时实现迭代和下一个方法。对于迭代器,迭代返回自己的自我,因此迭代器只能遍历一次。次要返回迭代器的下一个元素。如果没有元素,它将引发异常,并将暴露于开发人员。

  用于循环:

  (1)当循环对象是迭代器时,请将迭代器拨回本身,调用下一个方法以按顺序返回迭代器中的值,然后将停止异常的结束抛出到末尾。

  (2)当循环对象是迭代对象时,将迭代器称为每个返回独立的迭代器(与迭代器的迭代器不同),以确保不同的迭代过程不会互相影响,因此它们可以遍历很多次。调用下一个方法以按顺序返回迭代器中的值,迭代以最终抛出stopteities例外,此异常不会暴露于开发人员

  反向()方法基本上调用了内部归还方法。如果未在对象内实现反向方法,则不能使用Recversion()方法来完成反向迭代。

  结果:

  结果:

  结果: