Junior — Middle
Μπορείτε να εξηγήσετε τι είναι ένας διακοσμητής για μεθόδους κλάσης στην Python;
sobes.tech AI
Απάντηση από AI
Ένας διακοσμητής για μεθόδους κλάσης στην Python είναι μια συνάρτηση που λαμβάνει μια μέθοδο κλάσης και επιστρέφει μια τροποποιημένη έκδοση αυτής της μεθόδου. Επιτρέπει την προσθήκη επιπλέον συμπεριφορών στη μέθοδο χωρίς να αλλάξει τον αρχικό κώδικα.
Για παράδειγμα, μπορείτε να χρησιμοποιήσετε έναν διακοσμητή για την καταγραφή των κλήσεων της μεθόδου, τον έλεγχο δικαιωμάτων πρόσβασης ή την προσωρινή αποθήκευση αποτελεσμάτων.
Παράδειγμα ενός απλού διακοσμητή για μια μέθοδο κλάσης:
class Η Κλάση Μου:
def decorator(func):
def wrapper(self, *args, **kwargs):
print(f"Κλήση της μεθόδου {func.__name__}")
return func(self, *args, **kwargs)
return wrapper
@decorator
def method(self, x):
return x * 2
obj = Η Κλάση Μου()
print(obj.method(5)) # Θα εμφανίσει ένα μήνυμα και το αποτέλεσμα 10
Εδώ, το @decorator περικλείει τη μέθοδο method, προσθέτοντας μια επιπλέον έξοδο κατά την κλήση.