裝飾器是修改其他函數的函數。它們提供了一種無需直接修改函數即可增強或擴展函數行為的方法。
語法:
@decorator_function def function_to_decorate(): # Function body
裝飾器可以鏈接,這意味著您可以將多個裝飾器應用於同一個函數。連結裝飾器的順序很重要。
@decorator2 @decorator1 def function_to_decorate(): # Function body
在此範例中,將首先套用裝飾器 1,然後再套用裝飾器 2。
實現所需的效果輸出,您可以建立自訂裝飾器:
# Decorator for bolding text def makebold(fn): def wrapper(): return "<b>" + fn() + "</b>" return wrapper # Decorator for italicizing text def makeitalic(fn): def wrapper(): return "<i>" + fn() + "</i>" return wrapper @makebold @makeitalic def say(): return "Hello" print(say()) # Output: "<b><i>Hello</i></b>"
在此範例中,@makebold 裝飾器是先應用,然後是@makeitalic。輸出是用粗體和斜體標籤括起來的「Hello」。
以上是函數裝飾器如何運作以及如何連結它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!