从键盘输入一串字符串,定义一个输出函数例如output函数,输出这串字符串,使用装饰器装饰该函数,实现要求的输出: def output(str): print(str) 要求的输出: ********** 输入的字符串 **********
时间: 2023-09-15 16:05:45 浏览: 127
### 回答1:
以下是实现代码:
```python
def decorator_output(func):
def wrapper(str_):
print('********** {} **********'.format(str_))
return func(str_)
return wrapper
@decorator_output
def output(str_):
print(str_)
input_str = input('请输入一串字符串:')
output(input_str)
```
使用 `decorator_output` 装饰器装饰了 `output` 函数,调用 `output` 函数时,会先输出 “********** 输入的字符串 **********”,再输出输入的字符串。
### 回答2:
可以使用装饰器来实现要求的输出。首先我们可以定义一个装饰器函数,该函数接受一个函数作为参数,并返回一个新的函数:
```python
def add_star(func):
def wrapper(str):
print("**********", str, "**********")
return wrapper
```
然后我们定义一个输出函数 `output`,该函数接受一个字符串作为参数,并将该字符串作为参数传递给装饰器函数 `add_star`:
```python
@add_star
def output(str):
print(str)
```
最后,我们从键盘上输入一串字符串,并调用输出函数 `output`,这样就可以实现要求的输出效果:
```python
input_str = input("请输入一串字符串:")
output(input_str)
```
完整代码如下所示:
```python
def add_star(func):
def wrapper(str):
print("**********", str, "**********")
return wrapper
@add_star
def output(str):
print(str)
input_str = input("请输入一串字符串:")
output(input_str)
```
运行程序后,你可以输入一串字符串,会在控制台上输出形如 `********** 输入的字符串 **********` 的结果。
### 回答3:
可以定义一个装饰器函数,用来对输出函数进行装饰,实现要求的输出格式。
```python
def decorator(func):
def wrapper(str):
print("**********", str, "**********")
return wrapper
@decorator
def output(str):
print(str)
input_str = input("请输入一串字符串:")
output(input_str)
```
运行程序后,会提示用户输入一串字符串。然后通过装饰器装饰的输出函数,会按照要求的格式输出字符串,中间用"**********"包围。例如,输入"Hello World",输出为"********** Hello World **********"。
阅读全文