结合Python的函数装饰器的概念,要求实现一个简单的加减乘除运算的应用: 已知已经定义如下函数: @display def add(x,y): return x+y @display def sub(x,y): return x-y @display def mul(x,y): return x*y @display def div(x,y): return x/y 要求执行下列函数的调用: add(2,3) sub(2,3) div(5,2) mul(4,3) 运行的结果是: 2 + 3 = 5 2 - 3 = -1 5 ÷ 2 = 2.5 4 x 3 = 12 请定义装饰器函数display,实现上述的要求。
时间: 2023-11-30 20:03:45 浏览: 63
好的,根据你的要求,我来为你编写一个装饰器函数 `display`,实现加减乘除运算的应用:
```python
def display(func):
def wrapper(x, y):
if func.__name__ == 'add':
print(f"{x} + {y} = {func(x, y)}")
elif func.__name__ == 'sub':
print(f"{x} - {y} = {func(x, y)}")
elif func.__name__ == 'mul':
print(f"{x} x {y} = {func(x, y)}")
elif func.__name__ == 'div':
print(f"{x} ÷ {y} = {func(x, y)}")
return func(x, y)
return wrapper
@display
def add(x, y):
return x + y
@display
def sub(x, y):
return x - y
@display
def mul(x, y):
return x * y
@display
def div(x, y):
return x / y
```
这样,当你调用 `add(2,3)`, `sub(2,3)`, `div(5,2)`, `mul(4,3)` 这几个函数时,会输出对应的运算结果,并且返回计算结果。
阅读全文