定义一个装饰器,装饰以下hello()函数。 def hello(): return "你好呀!" 不改变hello()函数,装饰器装饰后,hello()函数的返回值应该形如"你好呀!小千"
时间: 2024-03-24 12:41:58 浏览: 71
装饰器(Decorator):从字面上理解,就是装饰对象的器件。
好的,可以定义一个装饰器函数,该函数接收一个函数作为参数,返回一个新函数。新函数在调用原函数之后,将返回值进行修改,添加上额外的字符串。具体实现如下:
```python
def add_name(func):
def wrapper():
return func() + "小千"
return wrapper
@add_name
def hello():
return "你好呀!"
print(hello())
```
输出结果为:
```
你好呀!小千
```
以上代码中,`add_name()`函数是一个装饰器函数,它接收一个函数作为参数,返回一个新函数`wrapper`。新函数在调用原函数之后,将返回值进行修改,添加上字符串`"小千"`。`@add_name`语句将`add_name`装饰器应用到`hello()`函数上。
最终调用`hello()`函数时,得到的返回值为`"你好呀!小千"`。
阅读全文