python中iter的用途是什么?

alv*_*vas -9 python iteration keyword

iter在python 中使用该函数有什么用?

而不是做:

for i in range(8):
  print i
Run Code Online (Sandbox Code Playgroud)

我也可以用iter:

for iter in range(8):
  print iter
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 7

首先:iter()通常是一个功能.您的代码使用具有相同名称的本地变量来屏蔽该函数.您可以使用任何内置的Python对象执行此操作.

换句话说,您没有iter()此处使用此功能.您正在使用碰巧使用相同名称的for循环变量.你可以打电话给它dict,它不再是关于字典而是关于Guido选择的咖啡.从for循环的角度来看,两个例子之间没有区别.

否则,您将使用该iter()函数生成迭代器类型 ; 一个有.next()方法的对象(.__next__()在Python 3中).

for循环可以实现这个要求,正常.当使用可以生成迭代器的对象时,该for语句将使用相当于iter()它的C调用它.只有在使用iter()对象执行其他特定于迭代器的内容时才会使用.