python / python/cpython

`iter()` doesn't require a "collection"

Abierto
#155,856 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

docs
Lenguaje dominante
Python
Estrellas
77.2k
Forks
35.9k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

Documentation

The documentation for iter() says, for the one-argument form:

iter(iterable, /)

Return an iterator object. [...] the single argument must be a collection object which supports the iterable protocol (the __iter__() method), or it must support the sequence protocol (the __getitem__() method with integer arguments starting at 0). If it does not support either of those protocols, TypeError is raised.

This terminology is misleading, since a "collection" also needs to support size and containment checking. Per set and Collections Abstract Base Classes, respectively:

Like other collections, sets support x in set, len(set), and for x in set.

Collection : Sized, Iterable, Container : __contains__, __iter__, __len__

It should be possible to reword this section to avoid the term "collection", either by simply removing it or rephrasing the whole sentence.

Linked PRs
  • gh-155857

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la forma de iter() que acepta un argumento en la documentación de las funciones integradas. Revisa la redacción en torno a los protocolos “iterable” y “sequence” y confirma después que el término “collection” se elimina o se reformula para que no implique compatibilidad con el tamaño y la contención.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
documentation
Tipo de issue
Documentación
Dificultad
1/5
Tiempo estimado
Menos de una hora
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.