Cython概述

Cython是什么?

  1. Cython是一种编程语言,它使得为 Python 语言编写 C 扩展就像 Python 本身一样容易。
  2. 它旨在成为Python语言的超集,赋予它高级、面向对象、函数式和动态编程
  3. 除此之外,它的主要功能是支持作为语言一部分的可选静态类型声明。源代码被翻译成优化的 C/C++ 代码并编译为 Python 扩展模块。这允许非常快速的程序执行和与外部 C 库的紧密集成,同时保持 Python 语言众所周知的高程序员生产力。

关于Cython运行的原理

Cython之所以能加速的原理

Cython的安装

Cython的安装教程

第一个Cython代码

首先编辑hello.pyx

def say_hello_to(name):
    print("Hello %s!" % name)

因为是Cython可以理解为Python的超集,所以Python的语法适用于Cython

  • 现在我们将hello.pyx用Cython编译成.c文件
  • .c文件由 C 编译器编译成一个.so文件(或.pyd在 Windows 上),该文件可以 import直接编辑到 Python 会话中。 setuptools负责这部分。
  • 编写一个 setuptoolssetup.py来构建Cython 代码

(虽然使用Pyximport可以使.pyx.py文件一样导入 Cython文件,但是不推荐,所以之后也不进行太多记录)
setup.py

from setuptools import setup
from Cython.Build import cythonize

setup(
    name='Hello world app',
    ext_modules=cythonize("hello.pyx"),
    zip_safe=False,
)

之后需要在命令行进入.pyx路径使用python setup.py build_ext --inplace即可生成.pyd,改文件可以直接被调用

import hello
hello.say_hello_to('Ning')

运行结果为:
Hello Ning!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容