如何在pypy中注解一个类?
我正在使用pypy把一些Python脚本转换成C语言。假设我有一个这样的Python类:
class A:
def __init__(self):
self.a = 0
def func(self):
pass
我发现A.func
是一个未绑定的方法,而不是一个普通的函数,所以pypy无法转换它。于是我稍微修改了一下代码:
def func(self):
pass
class A:
def __init__(self):
self.a = 0
A.func = func
def target(*args):
return func, None
现在func
似乎可以被pypy转换了。然而,当我尝试运行translate.py --source test.py
时,出现了一个异常[translation:ERROR] TypeError: signature mismatch: func() takes exactly 2 arguments (1 given)
。我注意到这可能是因为我还没有给self
参数加上注解。不过这个self
的类型是A,那我该怎么给一个类加注解呢?
感谢你的阅读和回答。