Python:自定义实现for in迭代(iter方法和next方法)


"""
只要具有__iter__()方法的对象,都可以使用for in来迭代。__iter__()方法会返回一个迭代器(Iterator),返回的迭代器具有
__next__()方法,每次迭代都会返回下一个对象,当没有下一个元素时,则引发StopIteration。可以使用iter()方法调用对象的
__iter__()方法获取一个迭代器,使用next()方法来调用迭代器的__next__()方法。
"""


def forIn(iterable,func):
    iterator = iter(iterable)
    try:
        while True:
            p = next(iterator)
            func(p)
    except StopIteration:
        pass

if __name__ == "__main__":
    forIn([1,5,7,10],print)

 

你可能感兴趣的:(Python基础知识,Python基础知识)