A decorator არის ფუნქცია, რომელიც მოჭერს სხვა ფუნქციას ქცევის დასამატებლად, ორიგინალური კოდის შეცვლის გარეშე. იგი გამოიყენება @decorator სინტაქსით ფუნქციის ზემოთ — ელეგანტური გზა ჯვარედინი მოთხოვნილებების დასამატებლად, როგორიცაა logging, timing, caching ან access control.
როგორ მუშაობს დეკორატორები
():
():
()
result = func(*args, **kwargs)
()
result
wrapper
():
()
greet()
