溫馨提示×

Python中怎么使用裝飾器來裝飾函數

小億
89
2024-03-12 15:22:44
欄目: 編程語言

在Python中,裝飾器是一種函數,它接受一個函數作為參數,并返回一個新的函數。通過使用裝飾器,可以在不修改原始函數代碼的情況下添加額外的功能或邏輯。

下面是一個簡單的示例,演示如何使用裝飾器來裝飾函數:

# 定義一個裝飾器函數
def my_decorator(func):
    def wrapper():
        print("Before calling the function")
        func()
        print("After calling the function")
    return wrapper

# 使用裝飾器來裝飾函數
@my_decorator
def say_hello():
    print("Hello!")

# 調用裝飾后的函數
say_hello()

在上面的示例中,my_decorator是一個裝飾器函數,它接受一個函數作為參數,并返回一個新的函數wrapper。在wrapper函數中,我們可以在調用原始函數之前和之后添加額外的邏輯。通過在say_hello函數上方添加@my_decorator語法,我們將say_hello函數傳遞給my_decorator裝飾器函數,并將返回的新函數賦值給say_hello,這樣say_hello函數就被裝飾了。

當我們調用say_hello函數時,實際上會調用裝飾后的wrapper函數,從而在打印"Hello!“之前和之后分別打印"Before calling the function"和"After calling the function”。這樣,我們就成功地使用裝飾器來裝飾函數。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女