Я использую Jupyter Notebook для написания некоторых кодов Cython.
Первая ячейка просто загружает расширение cython.
%load_ext cython
Во второй ячейке я написал класс расширения игрушки :
cdef class foo:
cdef int a
def __cinit__(self):
self.a=<int>2.5
cdef int get_a(self):
return self.a
В следующей ячейке я попытался создать экземпляр класса foo с помощью:
%%cython
cdef foo example=foo()
print(example.a)
print(example.get_a())
Но получил ошибку компиляции:
Error compiling Cython file:
------------------------------------------------------------
...
cdef foo example=foo()
^
------------------------------------------------------------
/root/.cache/ipython/cython/_cython_magic_7489a6430bf0f355c7876ec2389a1b8e.pyx:1:5: 'foo' is not a type identifier
Error compiling Cython file:
------------------------------------------------------------
...
cdef foo example=foo()
^
------------------------------------------------------------
/root/.cache/ipython/cython/_cython_magic_7489a6430bf0f355c7876ec2389a1b8e.pyx:1:17: undeclared name not builtin: foo
Как я могу создать экземпляр класса c -signatured foo в новой ячейке?