Menu
CoddyTech

Giới thiệu về decorator

Thuộc phần Lập trình hướng đối tượng trong hành trình Python của Coddy. Bài học 9 trên 64.

Decorator là cách sửa đổi hoặc nâng cao hàm và lớp mà không thay đổi code ban đầu của chúng. Chúng dùng ký hiệu @.

Đây là ví dụ về một hàm trang trí đơn giản: 

def my_decorator(func):
    def wrapper():
        print("Before function runs")
        func()
        print("After function runs")
    return wrapper

Áp dụng decorator bằng @:

@my_decorator
def say_hello():
    print("Hello!")

Gọi hàm đã được trang trí:

say_hello()

Đầu ra:

Before function runs
Hello!
After function runs

@my_decorator tương đương với cách viết:

def say_hello():
    print("Hello!")

say_hello = my_decorator(say_hello)

Nhưng cú pháp @ gọn gàng và dễ đọc hơn nhiều.

Điểm chính: Bộ trang trí (decorator) bao quanh các hàm (function) để thêm chức năng mà không sửa đổi code của hàm ban đầu

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch Python online