Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε την έννοια των διακοσμητών στη γλώσσα Python και τη χρήση τους;

sobes.tech AI

Απάντηση από AI

Οι διακοσμητές (decorators) στην Python είναι συναρτήσεις που λαμβάνουν μια άλλη συνάρτηση και επιστρέφουν μια νέα συνάρτηση με επεκταμένη συμπεριφορά, χωρίς να αλλάζουν τον αρχικό κώδικα της συνάρτησης. Χρησιμοποιούνται συχνά για την προσθήκη επιπλέον λογικής, όπως καταγραφή, έλεγχο δικαιωμάτων, αποθήκευση cache κ.ά.

Παράδειγμα χρήσης:

def decorator(func):
    def wrapper(*args, **kwargs):
        print("Πριν από την κλήση της συνάρτησης")
        result = func(*args, **kwargs)
        print("Μετά την κλήση της συνάρτησης")
        return result
    return wrapper

@decorator
def say_hello(name):
    print(f"Γειά σου, {name}!")

say_hello("Κόσμε")

Έξοδος:

Πριν από την κλήση της συνάρτησης
Γειά σου, Κόσμε!
Μετά την κλήση της συνάρτησης

Έτσι, οι διακοσμητές επιτρέπουν την εύκολη και κατανοητή τροποποίηση της συμπεριφοράς συναρτήσεων ή μεθόδων.