栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Cython的使用(一)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Cython的使用(一)

cython的python的区别就在于,在cython里你也要对变量指定类型

我们知道python中是不需要对变量指定类型的,程序会自己判断,这也导致了python的运行慢

Python

x = 5

C/C++

int x = 5

Cython

cdef int x = 5
或
cpdef int x = 5

将python代码用cython编译

例如我们现在有python代码hxx_try.py

def hxx_test(x):
    y = 0
    for i in range(x):
        y += i
    return y

首先,将hxx_try.py修改后缀名为hxx_try.pyx, 然后新建setup.py 

setup.py

from setuptools import setup
from Cython.Build import cythonize

setup(
    name = 'hxx_learn_cython',
    ext_modules = cythonize("hxx_try.pyx"),
    zip_safe = False,
)

zip_safe=False要带着

然后

python setup.py build_ext --inplace

新生成.c文件,.so文件和build目录

目录结构是

 此时,新建一个python文件

from hxx_try import hxx_test
print(hxx_test(10))

就可以执行了

实际发挥作用的是hxx_try.cpython-38-x86_64-linux-gnu.so这个文件。将其他文件包括hxx_try.pyx删除,程序仍然可以执行

 

但是目前这个代码还没有被很优化,因为我们程序中并没有做任何的cython typing,即cython类型定义

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/960603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号