Python可继承函数

Python可继承函数,python,oop,inheritance,metaclass,Python,Oop,Inheritance,Metaclass,Python中有没有一种方法可以“键入”函数,或者让函数 继承测试套件?我正在做一些工作,评估几种不同的 使用各种标准实现不同的功能(用于 例如,我可以根据服务器的速度计算不同的排序函数 阵列大小和内存要求)。而我 希望能够自动测试功能。所以我会 类似于将函数识别为 一个特定的操作符,这样测试套件就可以获取所有的函数 这是该操作符的实现,并通过 测试 我最初的想法是使用类和子类,但是 出于这个目的,语法有点芬尼基,因为我首先会 创建类的实例,然后才能将其作为 功能。。。除非有办法允许init返回

Python中有没有一种方法可以“键入”函数,或者让函数 继承测试套件?我正在做一些工作,评估几种不同的 使用各种标准实现不同的功能(用于 例如,我可以根据服务器的速度计算不同的排序函数 阵列大小和内存要求)。而我 希望能够自动测试功能。所以我会 类似于将函数识别为 一个特定的操作符,这样测试套件就可以获取所有的函数 这是该操作符的实现,并通过 测试

我最初的想法是使用类和子类,但是 出于这个目的,语法有点芬尼基,因为我首先会 创建类的实例,然后才能将其作为 功能。。。除非有办法允许init返回 非无的类型


元类或对象可以以这种方式使用吗?

我很抱歉,因为我无法发表评论,但只是为了澄清您所说的“我必须先创建一个类的实例,然后才能将其作为函数调用…”这难道不能完成您试图做的事情吗

    class functionManager:

        def __init__(testFunction1 = importedTests.testFunction1):
           self.testFunction1() = testFunction1


    functionManager = functionManager()

然后只需包含functionManagerFile import functionManager中的
行,无论您想在哪里使用它?

函数是Python中的第一类对象,您可以这样对待它们,例如通过以下方式添加一些元数据:


这是可行的,但是如果可能的话,我想尽量减少语法。也许可以使用decorator?比如定义@candidate_function('some_key'),它将获取函数对象并对其运行测试,等等。
>>> def function1(a):
...     return 1
... 

>>> type(function1)
<type 'function'>

>>> setattr(function1, 'mytype', 'F1')
>>> function1.mytype
'F1'
def mytype(t):
    def decorator(f):
        f.mytype = t
        return f
    return decorator

@mytype('F2')
def function2(a, b, c):
    return 2