-2
我有问题,与下面的练习:https://pythonprogramming.net/decorators-intermediate-python-tutorial/ 这里是代码我想写:函数封装运动(装饰)
def add_wrapping(item):
def wrapped_item():
return 'a wrapped up box of {}'.format(str(item()))
return wrapped_item
@add_wrapping
def new_gpu():
return 'a new Tesla P100 GPU!'
print(new_gpu())
这里是我的代码:
def add_wrapping(item):
def wrapped_item():
return "a wrapped up box of {}".format(str(item()))
return wrapped_item()
@add_wrapping
def new_gpu():
return "new car!"
print(new_gpu())
我PyCharm工作,这里是它给我的错误:
line 17, in <module>
print(new_gpu())
TypeError: 'str' object is not callable
我被困在这一点,无法找出出了什么问题,任何帮助表示赞赏!
使用'returns wrapped_item'。目前,你在返回*之前调用了函数,这会导致'new_gpu'被分配给'wrapped_item()'的结果,这是'str'的结果。 –
为什么你想写的代码与你写的代码不同? – martineau
代码是不同的,因为我不想重写他的代码,但创建了我自己的代码,但在给定的练习中 – econ