Định nghĩa một decorator
Người bạn đồng nghiệp của bạn đang viết một decorator in ra thông điệp "before" trước khi hàm được trang trí được gọi và in ra thông điệp "after" sau khi hàm đó chạy xong. Họ đang bối rối về cách hàm được trang trí được bọc (wrap) như thế nào. Hãy giúp họ hoàn thiện decorator print_before_and_after().
Bài tập này là một phần của khóa học
Viết hàm trong Python
Hướng dẫn bài tập
- Gọi hàm được trang trí và truyền cho nó các đối số vị trí
*args. - Trả về hàm mới sau khi trang trí.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
def print_before_and_after(func):
def wrapper(*args):
print('Before {}'.format(func.__name__))
# Call the function being decorated with *args
____(*args)
print('After {}'.format(func.__name__))
# Return the nested function
return ____
@print_before_and_after
def multiply(a, b):
print(a * b)
multiply(5, 10)