Cython有哪些可用的类型?

时间:2019-04-01 09:08:16

标签: python python-3.x types cython

在Cython聚会期间,发言人指出了其他数据类型,例如cython.ssize_tWikipedia article中简要提到了类型ssize_t,但是并没有很好地解释。同样,Cython文档也根据类型automatically converted提到类型。

Cython中可用的所有数据类型是什么,它们的规格是什么?

1 个答案:

答案 0 :(得分:5)

您基本上可以访问大多数C类型:

这与从Oreilly的cython book书中摘录的所有Python类型(如果我没有错过的话)等效。

Python bool

  • bint(布尔编码为4位,简称别名)

Python intlong

  • [unsigned] char
  • [unsigned] short
  • [unsigned] int
  • [unsigned] long
  • [unsigned] long long

Python float

  • 浮动
  • double
  • 长双倍

Python complex

  • 浮动复合体
  • 双重复杂

Python bytes / str / unicode

  • 字符*
  • std :: string

对于size_tPy_ssite_t,请记住这些是别名。

Py_ssize_t是在python.h中定义的,它在cython中隐式导入。这样可以保存Python解释器创建的最大对象的大小(以字节为单位)。

size_t是在<stddef.h>中定义的标准C89类型。