在Python中使用简单修饰符时出错
我有一个错误:在Python中使用简单修饰符时出错,python,Python,我有一个错误: def simple_decorator(f): def tmp(*args, **kwargs): res = f(*args, **kwargs) return res return tmp @simple_decorator class FirstClass(): pass @simple_decorator class SecondClass(FirstClass): pass 文件“1.py”,第1
def simple_decorator(f):
def tmp(*args, **kwargs):
res = f(*args, **kwargs)
return res
return tmp
@simple_decorator
class FirstClass():
pass
@simple_decorator
class SecondClass(FirstClass):
pass
文件“1.py”,第16行,在
二等舱(一等舱):
TypeError:调用元类基时出错
function()参数1必须是代码,而不是str
为什么?你的错误是你试图装饰一个班级。
检查。你的错误是你试图装饰一个班级。
检查。您的装饰程序返回一个函数,因此
FirstClass
是一个函数,而不是一个类;装饰器不需要返回与输入类型相同的对象。您的装饰器返回一个函数,因此FirstClass
是一个函数,而不是一个类;修饰符不需要返回与输入类型相同的对象。类修饰符是在Py3k中引入的,后端口为2.6。类修饰符是在Py3k中引入的,后端口为2.6。
File "1.py", line 16, in <module>
class SecondClass(FirstClass):
TypeError: Error when calling the metaclass bases
function() argument 1 must be code, not str