python学习系列之python装饰器

2020-01-15 10:45:46 浏览数 (1)

一、常规的装饰器,比如 @auth,执行2步操作:

1、执行auth函数,并传参func进来

2、获取返回值,并赋值给被装饰器的函数的函数名(如让fetch_server_list等于返回值)

二、而带参数的装饰器,比如 @auth(before,after),则执行3步操作:

1、执行auth(before,after)这个函数,得到返回值ret(假设返回值为ret)

2、创建装饰器,获取返回值,拼接为@ret

3、相当于@auth函数的2个步骤:

  1)执行ret函数

  2)将ret函数的返回值赋值给被装饰器的函数的函数名

0 人点赞