CLASSMETHOD |
Classe de méthode |
---|---|
Python 2.2+ |
Syntaxe
classmethod(class) |
Paramètres
Nom | Description |
---|---|
class | Ce paramètre permet d'indiquer un nom de classe |
Description
Cette fonction permet de retourner la méthode de la classe de fonction.
Algorithme
MODULE CLASSMETHOD(méthode) SI la méthode est une fonction ordinaire (fonction classique) ALORS Ajouter un premier paramètre à la méthode (habituellement nommé 'cls') RETOURNE une méthode de classe associée à la classe de la méthode SINON RETOURNE une erreur ou une exception FIN SI |
Remarque
- Lorsque la fonction classmethod est appelé, il obtient la classe comme premier paramètre au lieu de l'instance de cette classe (comme nous le faisons normalement avec les méthodes). Cette situation signifie que nous pouvons utiliser la classe et ses propriétés à l'intérieur de cette méthode plutôt qu'une instance particulière. Les méthodes de classe sont utiles lorsque vous avez besoin de méthodes n'étant pas spécifiques à une instance particulière, mais mettant en oeuvre toujours la classe d'une manière ou d'une autre. Si vous avez une classe et une fonction de niveau module opérant sur cette classe (factory, stub d'injection de dépendance,...), faites-en une méthode de classe. Ensuite, il sera disponible pour les sous-classes. Les méthodes de classe peuvent être remplacées par des sous-classes contrairement aux fonctions de niveau module de Python. Le format @classmethod est un modeleur de fonction. Voir également les fonctions staticmethod(), property() et les classes abstraites dans le module abc.
Dernière mise à jour : Mercredi, le 14 septembre 2016