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 και επιστρέφει έναν διακοσμητή που καλεί τη συνάρτηση αρκετές φορές.