python iter() 两个方法

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 循环会处理异常,即会结束循环
原文地址:https://www.cnblogs.com/qxh-beijing2016/p/14953368.html