Chapitre d’ouvrage

Chapitre 18. Itérables

Pages 359 à 379

Citer ce chapitre


  • Gomez, R.
(2022). Chapitre 18. Itérables. Le petit Python orienté objet : Programmation orientée objet avec Python 3 (p. 359-379). Ellipses. https://stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-359?lang=fr.

  • Gomez, Richard.
« Chapitre 18. Itérables ». Le petit Python orienté objet Programmation orientée objet avec Python 3, Ellipses, 2022. p.359-379. CAIRN.INFO, stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-359?lang=fr.

  • GOMEZ, Richard,
2022. Chapitre 18. Itérables. In : Le petit Python orienté objet Programmation orientée objet avec Python 3. Paris : Ellipses. Références sciences, p.359-379. URL : https://stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-359?lang=fr.

Définition 18.1. On dit qu’un objet x est itérable s’il supporte l’instruction « for k in x ».
Les objets de type interne itérables les plus courants sont les séquences, les ensembles, les dictionnaires et les objets-fichiers. Les itérateurs sont également des objets itérables, nous les étudions à la section 18.7.
Si x est itérable, il supporte l’opération « k in x ». Dans le cas d’un itérable, le calcul du booléen « k in x » suit l’algorithme ci-dessous :
Lorsqu’on exécute le programme ci-dessous :
Python applique l’algorithme ci-dessous :itérateur = iter(x).k = next(itérateur).
Si ce calcul lève StopIteration, on quitte la boucle.
On exécute le bloc d’instructions (ici c’est pass).
On retourne à la ligne 2.
On notera que chaque fois qu’une boucle s’arrête en douceur, c’est parce que l’opération next(itérateur) a levé une exception de type StopIteration.Comme on peut le voir, les fonctions internes iter et next jouent un rôle fondamental dans l’itération d’un objet.
Finalement, la boucle « for k in x: pass » équivaut à ceci :
L’expérience ci-dessous illustre ce qui vient d’être dit :
On déduit de tout ceci qu’un objet x est itérable si et seulement si :x supporte la fonction iter ;
l’objet itérateur retourné par iter(x) supporte la fonction next ;
Au bout d’un certain nombre d’étapes, next(itérateur) lève StopIteration.
Si le point numéro 3 n’est pas vérifié, x est un itérable infini (pour nous, un itérable infini n’est pas un itérable au sens strict)…


Date de mise en ligne : 23/02/2023

Ce chapitre est en accès conditionnel

Acheter cet ouvrage

35,99 €

828 pages, format électronique (HTML et feuilletage, par chapitre)

Acheter ce chapitre

5,00 €

21 pages format électronique (HTML et feuilletage)
Membre d'une institution cliente ?