# pxd 文件
> 原文: [http://docs.cython.org/en/latest/src/tutorial/pxd_files.html](http://docs.cython.org/en/latest/src/tutorial/pxd_files.html)
除了`.pyx`源文件之外,Cython 还使用`.pxd`文件,它们的工作方式类似于 C 头文件 - 它们包含 Cython 声明(有时是代码部分),仅供 Cython 模块使用。使用`cimport`关键字将`pxd`文件导入`pyx`模块。
`pxd`文件有很多用例:
> 1. 它们可用于共享外部 C 声明。
>
>
> 2. 它们可以包含非常适合 C 编译器内联的函数。这些功能应标记为`inline`,例如:
>
>
>
> ```py
> cdef inline int int_min(int a, int b):
> return b if b < a else a
>
> ```
>
>
> 3. 当附带同名的`pyx`文件时,它们为 Cython 模块提供了一个 Cython 接口,以便其他 Cython 模块可以使用比 Python 更高效的协议与之通信。
在我们的集成示例中,我们可能会将其分解为`pxd`文件,如下所示:
> 1. 添加`cmath.pxd`功能,定义 C `math.h`头文件中可用的 C 功能,如`sin`。然后人们只需在`integrate.pyx`中做`from cmath cimport sin`。
>
>
> 2. 添加`integrate.pxd`,以便用 Cython 编写的其他模块可以定义要集成的快速自定义函数。
>
>
>
> ```py
> cdef class Function:
> cpdef evaluate(self, double x)
> cpdef integrate(Function f, double a,
> double b, int N)
>
> ```
>
>
>
> 请注意,如果您的 cdef 类具有属性,则必须在类声明`pxd`文件(如果使用)中声明属性,而不是`pyx`文件。编译器会告诉你这个。
- Cython 3.0 中文文档
- 入门
- Cython - 概述
- 安装 Cython
- 构建 Cython 代码
- 通过静态类型更快的代码
- Tutorials
- 基础教程
- 调用 C 函数
- 使用 C 库
- 扩展类型(又名.cdef 类)
- pxd 文件
- Caveats
- Profiling
- Unicode 和传递字符串
- 内存分配
- 纯 Python 模式
- 使用 NumPy
- 使用 Python 数组
- 进一步阅读
- 相关工作
- 附录:在 Windows 上安装 MinGW
- 用户指南
- 语言基础
- 扩展类型
- 扩展类型的特殊方法
- 在 Cython 模块之间共享声明
- 与外部 C 代码连接
- 源文件和编译
- 早期绑定速度
- 在 Cython 中使用 C ++
- 融合类型(模板)
- 将 Cython 代码移植到 PyPy
- Limitations
- Cython 和 Pyrex 之间的区别
- 键入的内存视图
- 实现缓冲协议
- 使用并行性
- 调试你的 Cython 程序
- 用于 NumPy 用户的 Cython
- Pythran 作为 Numpy 后端