在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