Chapitre 23. Objets appelables
- Par Richard Gomez
Pages 491 à 507
Citer ce chapitre
- GOMEZ, Richard,
- Gomez, Richard.
- Gomez, R.
Citer ce chapitre
- Gomez, R.
- Gomez, Richard.
- GOMEZ, Richard,
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 €
Acheter ce chapitre
5,00 €