1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| class Deco:
"""Classe qui contient les décorateurs"""
def __init__(self, nb1, nb2):
self.nb1 = nb1
self.nb2 = nb2
def decorator(self, func):
def soustraction(self):
result = f"le resultat de l'operation {self.nb1} - {self.nb2} = {self.nb1-self.nb2}"
return result
return soustraction
class Test(Deco):
"""teste les décorateurs de methode"""
def __init__(self, nb1, nb2):
"""constructeur de la classe Test"""
super().__init__(nb1, nb2)
def traitement(self):
"""additionne les deux nombre"""
result = f"le resultat de l'opération {self.nb1} + {self.nb2} = {self.nb1+self.nb2}"
return result
nb1 = 158
nb2 = 17
test = Test(nb1, nb2)
traitement = test.traitement()
print("Avant la décoration")
print(traitement)
traitement = test.decorator(test)
print("Après la décoration")
print(traitement) |