A conventional adorner, such as a @auth, performs 2 steps:
1, execute auth function, and pass the parameter func come in
2. Gets the return value and assigns the function name to the function of the adorner (e.g. let fetch_server_list equals the return value)
Second, the parameter of the adorner, such as @auth (Before,after), then perform 3-step operation:
1, execute auth (before,after) This function, get return value RET (assuming return value is ret)
2, create the adorner, get the return value, stitching for @ret
3, equivalent to the @auth function of the 2 steps:
1) Perform RET function
2) Assign the return value of the RET function to the function name of the function being decorated
This article is from the "bitter coffee ' s Yun ' an Road" blog, please be sure to keep this source http://alsww.blog.51cto.com/2001924/1718424
Python Learning Series Python Adorner Basics (6)---adorner plus parameters