带有参数的装饰器

2022-09-18

创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目网站制作、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元抚顺做网站,已为上家服务,为抚顺各地企业和个人服务,联系电话:028-86922220

带有参数的装饰器的实质:

  因为装饰器是不能在带有参数,所以要定义带有参数的装饰器应该换一种思路。在装饰器的外面套一个函数,使用该函数返回这个装饰器。

带有参数的装饰器的实例:

 1 # 装饰器
 2 def return_decorator(flag):
 3     def decorator(func):
 4         def inner(a,b):
 5             if flag == "+":
 6                 print("正在努力执行加法运算")
 7             elif flag == "-":
 8                 print("正在努力执行减法运算")
 9             func(a,b)
10         return inner
11     return decorator
12 
13 @return_decorator("+")
14 # 原来的函数
15 def add_num(a,b):
16     result = a + b
17     print(result)
18 
19 @return_decorator("-")
20 def sub_num(a,b):
21     result = a - b
22     print(result)
23 
24 add_num(1,2)
25 sub_num(1,4)

分享名称:带有参数的装饰器
标题链接:http://ybzwz.com/article/dsogsgp.html