Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để tạo một chuỗi các trình trang trí hàm trong Python?


Trình trang trí là "trình bao bọc", cho phép chúng ta thực thi mã trước và sau hàm mà chúng trang trí mà không cần sửa đổi chính hàm.

Ví dụ

Mã đã cho có thể được bao bọc trong một chuỗi trình trang trí như sau.

def makebold(fn):
    def wrapped():
        return "<b>" + fn() + "</b>"
    return wrapped
def makeitalic(fn):
    def wrapped():
        return "<i>" + fn() + "</i>"
    return wrapped
@makebold
@makeitalic
def hello():
    return "hello world"
print hello()

Đầu ra

C:/Users/TutorialsPoint1/~.py
<b><i>hello world</i></b>

Nếu mã html này được thực thi như trong liên kết được cung cấp bên dưới, chúng tôi sẽ nhận được đầu ra là chữ in đậm và in nghiêng 'hello world'