Chapitre d’ouvrage

Chapitre 23. Objets appelables

Pages 491 à 507

Citer ce chapitre


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

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

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

Définition 23.1. Un objet appelable est un objet possédant une méthode spéciale _ _call_ _.
Les objets appelables de type interne sont les fonctions, les classes et les méthodes. Pour savoir si un objet est appelable, on peut utiliser la fonction interne callable :
On peut émuler callable comme ceci :
L’opérateur permettant d’appeler un appelable est la double parenthèse « () ». Si x est un appelable de signature (a,b), on effectuera un appel de x en écrivant quelque chose comme x(u,v).
Derrière l’opérateur « () » d’appel se cache la méthode spéciale call.
Tout appel x(<arguments>) retourne x. _ _call_ _ (<arguments>). Par exemple l’instruction
équivaut àPar conséquent, si on désire que les instances d’une classe A soient appelables avec une signature (u,v) par exemple, on surchargera call avec la signature (self,u,v). Voici un exemple trivial :
Testons :
On implémente call comme on veut. On peut même demander à call de modifier l’objet a lorsqu’on l’appelle (Python est un langage pour adultes).
Python met à notre disposition de nombreux objets appelables comme les fonctions ou les méthodes. Néanmoins, la surchage de call peut être utile pour créer par exemple des objets représentant des fonctions mathématiques d’un type précis. On peut, par exemple, avoir envie de créer un objet représentant une variable aléatoire suivant une loi donnée. La surcharge de call nous permet alors d’implémenter une syntaxe proche de la syntaxe mathématique…


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 €

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