This document is for an old version of Python that is no longer supported. You should upgrade and read the documentação do Python para versão estável atual.

# Objetos Iteradores

O Python fornece dois objetos iteradores de uso geral. O primeiro, um iterador de sequência, trabalha com uma sequência arbitrária que suporta o método `__getitem__()`. O segundo funciona com um objeto que pode ser chamado e um valor de sentinela, chamando o que pode ser chamado para cada item na sequência e finalizando a iteração quando o valor de sentinela é retornado.

PyTypeObject `PySeqIter_Type`

  Objeto de tipo para objetos iteradores retornados por `PySeqIter_New()` e a forma de um argumento da função embutida `iter()` para tipos de sequência embutidos.

  Novo na versão 2.2.

int `PySeqIter_Check`(op)

  Retorna true se o tipo de op for `PySeqIter_Type`.

  Novo na versão 2.2.

PyObject* `PySeqIter_New`( PyObject *seq)
  Return value: New reference.

  Retorna um iterador que funcione com um objeto de sequência geral, seq. A iteração termina quando a sequência levanta `IndexError` para a operação de assinatura.

  Novo na versão 2.2.

PyTypeObject `PyCallIter_Type`

  Objeto de tipo para objetos iteradores retornados por `PyCallIter_New()` e a forma de dois argumentos da função embutida `iter()`.

  Novo na versão 2.2.

int `PyCallIter_Check`(op)

  Retorna true se o tipo de op é `PyCallIter_Type`.

  Novo na versão 2.2.

PyObject* `PyCallIter_New`( PyObject *callable, PyObject *sentinel)
  Return value: New reference.

  Retorna um novo iterador. O primeiro parâmetro, callable, pode ser qualquer objeto chamável do Python que possa ser chamado sem parâmetros; cada chamada deve retornar o próximo item na iteração. Quando callable retorna um valor igual a sentinel, a iteração será encerrada.

  Novo na versão 2.2.