Tôi đoán đó là cách chúng được gọi, nhưng tôi sẽ đưa ra các ví dụ chỉ trong trường hợp.Sự khác biệt giữa các lớp trang trí và chức năng trang trí
Decorator lớp:
class decorator(object):
def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
print 'something'
self.func(*args, **kwargs)
Decorator chức năng:
def decorator(func):
def wrapper(*args, **kwargs):
print 'something'
return func(*args, **kwargs)
return wrapper
Đang sử dụng một hay khác chỉ là vấn đề của hương vị? Có sự khác biệt thực tế nào không?
Có sự khác biệt. Sự khác biệt là chính xác như nhau khi bạn muốn sử dụng một hàm thường xuyên so với một lớp thông thường – Falmarri