Chapitre d’ouvrage

Chapitre 15. Objets subscriptables

Pages 293 à 304

Citer ce chapitre


  • Gomez, R.
(2022). Chapitre 15. Objets subscriptables. Le petit Python orienté objet : Programmation orientée objet avec Python 3 (p. 293-304). Ellipses. https://stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-293?lang=fr.

  • Gomez, Richard.
« Chapitre 15. Objets subscriptables ». Le petit Python orienté objet Programmation orientée objet avec Python 3, Ellipses, 2022. p.293-304. CAIRN.INFO, stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-293?lang=fr.

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

Définition 15.1. On dit que x est subscriptable s’il supporte des opérations du genre x[k]. Dans le cas particulier où il ne supporte cette opération que pour des k entiers, on dit que x est indexable.
La traduction du mot anglais subscriptable est inscriptible. Nous avons conservé la forme anglaise car c’est elle qui est employée dans la plupart des documentations.Remarque 15.2. Les objets indexables de type interne sont les séquences (str, tuple, bytes, range, list, et bytearray). Les objets de type dict sont subscriptables. Ces 7 types sont les seuls types internes subscriptables.
Il existe 3 opérations fondamentales pour les objets subscriptables. Derrière chacune de ces opérations se cache une méthode spéciale :
Pour créer une classe d’objets subscriptables, il suffit de surcharger ces méthodes spéciales.Attention. Ce n’est pas parce qu’un objet x accepte la lecture x[k] qu’il accepte forcément l’affectation « x[k] = v », ou l’effacement « del x[k] ». C’est le cas par exemple des chaînes de caractères :Toute lecture x[k] retourne x._ _getitem_ _(k). Voici l’exemple le plus simple possible :
Tout est bon pour être une clé, et la réponse est toujours la même :
Voici un exemple à peine plus élaboré (mais tout aussi artificiel) :
Testons-le :
Ce programme est simple : a["un"], a["deux"] et a["trois"] retournent les attributs x, y et z, respectivement. Toute autre clé retourne None (quand une fonction n’aboutit ni à return, ni à yield, elle retourn…


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 €

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