1,常用方法-迭代器
iter(obj),会返现一个迭代器,如果 obj 不是可迭代对象,则会报错
2,方法二
当iter()方法内传入两个参数时。
ter(object[, sentinel]) sentinel 英文翻译为 哨兵
sentinel 参数是可选的,当它存在时,object 不再传入一个可迭代对象,而是一个可调用对象,通俗点说就是可以通过()调用的对象,而 sentinel 的作用就和它的翻译一样,是一个“哨兵”,当时可调用对象返回值为这个“哨兵”时,循环结束,且不会输出这个“哨兵”
代码案例:
from random import randint def guess(): return randint(0, 10) num = 1 # 这里先写死心里想的数为5 for i in iter(guess, 5): print("第%s次猜测,猜测数字为: %s" % (num, i)) num += 1 # 当 guess 返回的是 5 时,会抛出异常 StopIteration,但 for 循环会处理异常,即会结束循环