Classe statique en Python
-
Utilisez le décorateur
@staticmethod
pour créer une classe statique en Python -
Utilisez le décorateur
@classmethod
pour créer une classe statique en Python - Utiliser un fichier de module pour créer une classe statique en Python
Une classe statique est une fonctionnalité pratique en programmation. Une classe statique ne peut pas être héritée et ne peut pas être instanciée. Il n’y a pas de moyen direct de rendre une classe statique. En Python, nous pouvons implémenter une classe statique en rendant ses méthodes et variables statiques.
Dans cet article, nous allons implémenter de telles méthodes.
Utilisez le décorateur @staticmethod
pour créer une classe statique en Python
Pour implémenter une classe statique, nous pouvons rendre ses méthodes et variables statiques. Pour cela, on peut utiliser le décorateur @staticmethod
pour créer des méthodes dans une classe static. Un décorateur est une fonction spéciale spécifiée avant une fonction et prend la fonction entière comme paramètre.
Par exemple,
class abc(object):
@staticmethod
def static_method():
print("Hi,this tutorial is about static class in python")
abc.static_method()
Production:
Hi,this tutorial is about static class in python
Notez que cette méthode ne fonctionne que sur les versions de Python supérieures à 2.6.
Utilisez le décorateur @classmethod
pour créer une classe statique en Python
La @classmethod
peut rendre une méthode statique vis-à-vis de la classe et non de son objet. Il présente plusieurs avantages par rapport au décorateur @staticmethod
. Il fonctionnera également avec les sous-classes et peut modifier l’état de la classe.
Cependant, cela nécessite qu’un argument obligatoire soit inclus dans la méthode appelée cls
.
Voir le code suivant.
class abc(object):
@classmethod
def static_method(cls):
print("Hi,this tutorial is about static class in python")
abc.static_method()
Production:
Hi,this tutorial is about static class in python
Utiliser un fichier de module pour créer une classe statique en Python
En Python, le meilleur moyen d’implémenter une classe statique est probablement de créer un module. Nous pouvons importer un module, et ses fonctions sont accessibles en utilisant le nom du module. Il ne nécessite pas d’instanciation d’objets et ne peut pas être hérité.
Voir l’exemple suivant.
def static_method():
print("Hi this is the content of the module file")
Le code ci-dessus peut être une simple fonction dans un script Python qui peut être importé en tant que module.
Par exemple, si le nom du script Python ci-dessus est abc.py
, nous pouvons faire quelque chose comme indiqué ci-dessous.
import abc
abc.static_method()
Production:
Hi,this tutorial is about static class in python