类变量的类型注释

时间:2013-04-30 19:54:45

标签: python cython

在下面的代码中,如何使用纯python语法在cython中注释self.a的类型?

class C:
  def __init__(self):
    self.a = 1
  @cython.locals(x = int)
  def f(self, x):
    self.a += x

1 个答案:

答案 0 :(得分:0)

以下适用于我,包括Cython 0.16和0.19.1

import cython

@cython.cclass
class C(object):
    a=cython.declare(cython.int)
    def __init__(self):
        self.a = 1
    @cython.locals(x = int)
    def f(self, x):
        self.a += x
    def val(self):
        return self.a

正如您所看到的那样,cython.declare应该在__init__中的类中使用。