سلام .
Decorator ها یا دکوراتور ها در اصل توابعی هستند که که تابعی که بعد از اونها فراخوانی یا ساخته بشه رو به عنوان آرگومان میگیرن و یک تابع جدید و یا یک مقدار جدید رو برگشت میدند .
دکوراتور ها یکی از مهم ترین وجه تمایز های پایتون با سایر زبان های برنامه نویسی هست که باعث شده دستکاری توابع بسیار آسان تر بشه .
برای ساخت یک دکوراتور باید ابتدا یک تابع بسازید و بعد هر جا که خواستید و قبل از فراخوانی تابع مورد نظر با پرفیکس کردن ( قرار دادن قبل از ) نام تابع دکوراتور حرف @ رو قرار بدید و بعد نام تابع دکوراتور بدون فراخوانی اون ، یعنی بدون () مانند زیر :
def decor (func) : def call (f): print("<p>"+str(f)+"</p>") return call(func) @decor def hello(): return "In The Name Of God"