python 深入分析iter函数

iter 函数还有一个鲜为人知的用法:传入两个参数,使用常规的函数或任何可调用的对象创建迭代器。这样使用时,第一个参数必须是可调用的对象,用于不断调用(没有参数),产出各个值;第二个值是哨符,这是个标记值,当可调用的对象返回这个值时,触发迭代器抛出 StopIteration 异常,而不产出哨符

# -*- coding:utf-8 -*-
from random import randint

def d6():
    return randint(1, 6)


if __name__ == '__main__':
    d6_iter = iter(d6, 6)
    for roll in d6_iter:
        print(roll)
    print(6)

4
3
6
with open("./deep_iter/deep_iter.py") as fp:
    for line in iter(fp.readline, "\n"):
        print(line)

猜你喜欢

转载自blog.csdn.net/newdas123/article/details/80916634