我想从一个函数中获取一个输入。
def input_text():
text = input('Type the text:\n')
# deco_required = input('Format variable\n')
return text
然后我想让一个装饰器来格式化上面输入的文本。
def center(input_text):
def centering(*args,**kwargs):
t = '<center>{}</center>' .format(kwargs)
return input_text
return centering
我认为这是正确的方法。
@centring
input_text()
我得到了以下错误:
File "<ipython-input-10-95c74b9f0757>", line 2
input_text()
^ SyntaxError: invalid syntax
这对我查资料没有什么帮助。
首先,如果没有装饰器,你将会简单地把 input_text
到居中函数。
def centering(s):
return '<center>{}</center>'.format(s)
centered_text = centering(input_text)
这样做的函数可能是这样的
def input_centered_text():
text = input('Temp the text:')
centered_text = centering(text)
return centered_text
一个可以生产的装饰者 input_centered_text
原有 input_text
会是什么样子
def center(f):
def _():
centered_text = f()
return centered_text
return _
并作
def input_text():
text = input('Type the text:\n')
return text
input_centered_text = center(input_text)
或
@center
def input_centered_text(): # Note the change in the function name
text = input('Type the text:\n')
return text