想像一下在萬聖節的時候,我們在門上,桌上,牆上,傢俱等各種物品上放上南瓜妖怪的裝飾品。
藉由這些裝飾品,原本平凡的門跟傢俱,在不需要改造它們本質的情況下,輕輕鬆鬆就增添了萬聖節的氣氛。甚至,我可以想裝飾哪裡就哪裡,就算是廁所🚽也沒問題。
如果,今天沒有這些萬聖節裝飾品,當我想要營造這個氣氛時,我搞不好得叫木工在牆上做個造型,或是把門的樣式都改掉,不用說廁所的難度又更高了。
聽起來很不符合經濟效益,是吧?所以裝飾品是很好用的
在Python中,有一個類似的概念,叫做Decorator。
它能讓我們去對指定的function增添一些東西,甚至是改變它的行為,而不需要去動到function本身。
聽起來好像有點神奇嗎?那麼,我們來看一個簡單的例子吧。
假設我有下面三個簡單的function:
這三個function分別return不同的字串:hello、hi、yo
今天,如果說我想要每個function的return值都加上一個南瓜的表情符號....