Следующий код определяет простую функцию Cython (для удобства используется магия Ipython).
%load_ext cython
%%cython
def f(float x, float y=2):
return x+y
Затем, вызов help(f)
выдает это сообщение:
Help on built-in function f in module _cython_magic_e37eeabbc63d5167217465ba978239fc:
f(...)
Обратите внимание, чтоаргументы f
не показаны.Кроме того, завершение табуляции не работает и для имен аргументов в ipython (например, набрав f(x
затем tab
).
Если я определю эту функцию без использования Cython:
def g(x, y=2):
return x+y
Вызов help(g)
дает это, и завершение табуляции работает, как и ожидалось:
Help on function g in module __main__:
g(x, y=2)
Есть ли способ получить такое поведение с помощью функции Cython?Я пытался с def
, cdef
, cpdef
, с и без магии ipython, но безуспешно.