使用cython.pxd文件扩充纯python文件

2024-10-01 07:22:59 发布

您现在位置:Python中文网/ 问答频道 /正文

按照这里的示例“Augementing .pxd”,我尝试使用“.pxd”文件来扩充纯python文件。(在纯python文件外部添加类型定义)。在

python文件:

class A(object):
    def foo(self, i=3, x=None):
        print "Big" if i > 1000 else "Small"

pxd文件:

^{pr2}$

我有一个字典,在python中默认为“None”。 不幸的是,赛顿不喜欢这样。在

如果我使用“纯”python文件,而没有在pxd文件中声明类型或将类型声明为“dict”,则会得到错误:

"Signature not compatible with previous declaration"

我注意到,如果不指定默认值,它将编译,但是声明默认值是有原因的。在

有办法处理吗?在


Tags: 文件selfnone声明示例类型objectfoo
1条回答
网友
1楼 · 发布于 2024-10-01 07:22:59

cpdef函数中的可选参数的声明与cdef函数不同,cdef函数本质上与python函数相同。在

您的.pxd文件应该修改为

cdef class A:
    cpdef foo(self, int i=*, x=*)

相关问题 更多 >