Cải thiện bài viết
Lưu bài viết
Trong bài viết này, chúng tôi sẽ cố gắng hiểu khái niệm cơ bản đằng sau cách tạo các nhà trang trí chức năng và chuỗi chúng lại với nhau, chúng tôi cũng sẽ cố gắng xem các ví dụ trang trí Python. & NBSP;how to make function decorators and chain them together we will also try to see Python decorator examples.
Người trang trí là gì trong Python?
Trình trang trí là một hàm có thể lấy một chức năng như một đối số và mở rộng chức năng của nó và trả về một chức năng sửa đổi với chức năng mở rộng.
Vì vậy, ở đây trong bài viết này, chúng ta sẽ tìm hiểu về chuỗi trang trí. Chuỗi trang trí có nghĩa là áp dụng nhiều hơn một trang trí bên trong một chức năng. Python cho phép chúng tôi thực hiện nhiều hơn một người trang trí cho một chức năng. Nó làm cho các nhà trang trí hữu ích cho các khối xây dựng có thể tái sử dụng khi nó tích lũy một số hiệu ứng cùng nhau. Nó còn được gọi là trang trí lồng nhau trong Python. Chúng tôi cũng sẽ thấy các ví dụ trang trí Python.Python decorator examples.
Cú pháp của người trang trí trong Python
@decor1 @decor def num[]: statement[s]
Ví dụ 1: & nbsp;
Đối với chức năng num [], chúng tôi đang áp dụng 2 chức năng trang trí. Đầu tiên là người trang trí bên trong sẽ làm việc và sau đó là người trang trí bên ngoài.
Python3
def
decor1[func]:
def
inner[]:
x
____10
4001
4003
x
4005
4006
4003
4009
def
************ @@@@@@@@@@@@ Hello @@@@@@@@@@@@ ************ GeekforGeeks1
def
inner[]:
x
____10
4001
4003
x
4005
4006
4003
4009
def
7
def
8
def
************ @@@@@@@@@@@@ Hello @@@@@@@@@@@@ ************ GeekforGeeks1
4003
def
1 4005
4006
decor1[func]:
4decor1[func]:
5
Output:
400
def
decor1[func]:
0
4003
decor1[func]:
3Python3
def
decor1[func]:
def
inner[]:
1decor1[func]:
4
3
4
5
1
4001
1decor1[func]:
4
3
4
5
x
____10
4001
4003
x
4005
4006
def
inner[]:
1decor1[func]:
4
3inner[]:
4
5
1
4001
x
____10
4001
x
____10
4001
def
7
7
4003
x
4005
4006
x
0decor1[func]:
4
3x
3
5
4003
4009
x
0decor1[func]:
4
3
40000
540002
40003
Output:
************ @@@@@@@@@@@@ Hello @@@@@@@@@@@@ ************ GeekforGeeks
def
************ @@@@@@@@@@@@ Hello @@@@@@@@@@@@ ************ GeekforGeeks1