1.python中哪些对象可以使用for循环,或者可以遍历?
答:可迭代的对象,或者说实现了迭代器协议的对象,就支持遍历或循环。 支持迭代协议的对象有什么特征:包含一个__next__()的方法,用来移动指针到关联的下一个元素上。
2.迭代协议,内部有一个__next__()方法,作用是移动指针,能够获取到下一个元素。
3.可迭代对象,每次用__next__()获取下一个元素,占用内存小。而如f.readlines返回的是列表,先把所有元素放到一个列表里,然后for循环一个一个的读取,这样占用的内存大。
4. iter(a) = a 验证a是否符合迭代协议
若返回ture,则可以直接用__next__()依次读取 每个元素。
若返回false,则先生成迭代器对象:a = iter(a),然后再利用__next__()。
5.推导定义:39:00