http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/
decorator מאפשר לך לשנות פונקציה על ידי זה שאתה מריץ עליה פונקציה שמחזירה פונקציה. טוב, יצא קצת מסובך, אבל הנה דוגמה פשוטה -
נגיד יש לך כמה פונקציות במחלקה מסוימת, ולפני כל אחת מהן אתה רוצה לעשות פעולה קבועה, אז במקום לכתוב את אותו קוד בכל אחת מהפונקציות, אתה יכול "לקשט" אותן בעזרת פונקציה שמוסיפה את ההתנהגות הזאת לפני הקריאה לפונקציה הסופית.