Sobes.tech
Junior — Middle

Έχεις χρησιμοποιήσει διακοσμητές που δέχονται παραμέτρους;

sobes.tech AI

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

Ναι, έχω χρησιμοποιήσει διακοσμητές με παραμέτρους στην Python. Αυτοί οι διακοσμητές είναι συναρτήσεις που δέχονται επιχειρήματα και επιστρέφουν τον ίδιο τον διακοσμητή. Αυτό επιτρέπει την προσαρμογή της συμπεριφοράς του διακοσμητή κατά την εφαρμογή.

Παράδειγμα ενός απλού διακοσμητή με παράμετρο:

def repeat(times):
    def decorator(func):
        def wrapper(*args, **kwargs):
            for _ in range(times):
                result = func(*args, **kwargs)
            return result
        return wrapper
    return decorator

@repeat(times=3)
def say_hello():
    print("Hello")

say_hello()

Σε αυτό το παράδειγμα, η συνάρτηση repeat δέχεται την παράμετρο times και επιστρέφει έναν διακοσμητή που καλεί τη συνάρτηση αρκετές φορές.