在方法级别进行静态类型检查,python

时间:2013-04-23 08:04:07

标签: python

我是python的新手,我有以下的怀疑。

假设我有一个名为TestRequestTestResponse的班级。并且在另一个类中有一个名为testStatic的方法。

我希望testStatic方法仅接受TestRequest作为参数,并仅返回TestReponse个对象作为响应。

在python中可以吗?

我来自java背景,我可以这样写:

public TestResponse testStatic(TestRequest request)
{
    return response
}

如何在python中实现相同的目标?

由于

1 个答案:

答案 0 :(得分:0)

你没有得到像Java那样的“编译时”类型检查,但你可以在运行时通过断言一个对象是一个类的实例来完成它,如下所示:

def testStatic(self, request):
    assert isinstance(request, TestRequest)
    ...

(但正如其他人所指出的,这不是你通常用Python做的事情。查看“Duck Typing”。)