[Cython] Python callable staticmethods?
John Ehresman
jpe at wingware.com
Mon Sep 25 15:58:16 EDT 2017
On 9/25/17 3:32 PM, Stefan Behnel wrote:
> Am 25. September 2017 20:59:01 MESZ schrieb John Ehresman:
>> Is there a way to define a Python callable staticmethod in a Cython
>> cdef class?
>
> Did you try it?
Not fully, I'll admit. I found that the following are invalid in a .pxd:
cdef class Cls:
@staticmethod
def method(a)
@staticmethod
cpdef method(a)
I later found that just using @staticmethod\n def method(a) in a .py
file does work (I'm using pure mode). That means that cython code in
other modules is doing a PyObject_GetAttr to get the method and then
calling the returned object (admittedly I'm not far enough along to
profile to see if this is a real problem or not).
I think I'm really asking about cpdef staticmethods.
Thanks,
John
More information about the cython-devel
mailing list