python转cython_10分钟带你入门Cython
1. Cython是什么?
Cython是一个编程语言,它通过类似Python的语法来编写C扩展并可以被Python调用.既具备了Python快速开发的特点,又可以让代码运行起来像C一样快,同时还可以方便地调用C library。
2. 如何安装Cython?
跟大多数的Python库不同,Cython需要一个C编译器,在不同的平台上配置方法也不一样。
2.1 配置gcc
windows
安装MingW-w64编译器:
conda install libpython m2w64-toolchain -c msys2
在Python安装路径下找到\Lib\distutils文件夹,创建distutils.cfg写入如下内容:
macOS
安装XCode即可
linux:gcc一般都是配置好的,如果没有就执行这条命令:
sudo apt-get install build-essential
2.2 安装cython库
如果没安装Anaconda: pip install cython
如果安装了Anaconda: conda install cython
3. 在Jupyter Notebook上使用Cython
首先加载Cython扩展,使用魔术命令 %load_ext Cython
接下来运行Cython代码,使用魔术命令 %%cython
4. 试试Cython到底有多快
常规Python函数,运行时间559 ns
Cython def函数,声明一个Python函数,既可以在模块内调用,也可以在模块外调用。模块内运行时间524.2 ns,模块外运行时间512 ns
Cython cpdef函数,声明一个C函数和一个Python wrapper,在模块内被当做C函数调用,在模块外被.py文件当做Python函数调用。模块内运行时间43.7 ns,模块外运行时间81.7 ns
Cython cdef函数,声明一个C函数,不可以在模块外被Python调用。模块内运行时间34.8 ns
4.1 常规Python函数
4.2 Cython def函数
4.3 Cython cpdef函数
4.4 Cython cdef函数
5. 在Cython中使用Python对象
常规Python函数,运行时间549微秒
Python内置函数,运行时间104微秒
Cython函数,运行时间51.6微秒
A = list(range(10000))
5.1 常规Python函数
5.2 Python内置函数
%timeit sum(A)
5.3 Cython函数
6. 在.pyx文件中使用Cython
建立名为example.pyx的文件,键入如下代码
在控制台使用cythonize命令,将.pyx文件转为.c文件再编译为C模块
python转cython_10分钟带你入门Cython相关推荐
- 十分钟学习python_10分钟带你入门Cython
1. Cython是什么? Cython是一个编程语言,它通过类似Python的语法来编写C扩展并可以被Python调用.既具备了Python快速开发的特点,又可以让代码运行起来像C一样快,同时还可以 ...
- 8分钟带你入门人工智能,互联网大厂都在用的高能AI算法
哈喽,大家好,我是 Jack. 不少小伙伴问我,互联网大厂都在用哪些算法?有哪些算法值得学习? 这次,我做了一个视频,又剪了两周多,速度有点慢,但内容绝对充实. 主要是盘点一些互联网巨头,都在使用的人 ...
- Android 3分钟带你入门开发测试
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/-TW7p3z3vJ3GJw7X9u7dVg 作者:Zhu Yifei 作为一名合格的开发人员, ...
- 15分钟带你入门sklearn与机器学习——分类算法篇
作者 | 何从庆 本文转载自AI算法之心(ID:AIHeartForYou) [导读]众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Python编程语言的免费软件机 ...
- 15 分钟带你入门 sklearn 与机器学习(分类算法篇)
众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Python编程语言的免费软件机器学习库.它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度增强,k-me ...
- Sklearn 损失函数如何应用到_15 分钟带你入门 sklearn 与机器学习(分类算法篇)...
众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Python编程语言的免费软件机器学习库.它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度增强,k-me ...
- a*算法matlab代码_10分钟带你入门MATLAB
10分钟带你快速入门MATLABhttps://www.zhihu.com/video/1234089282815188992 前一段时间我发现有些小伙伴MATLAB基础比较薄弱,今天我来让各位小 ...
- 软件测试python测试步骤_软件测试员必备基础:3分钟带你入门自动化测试!
目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够明白自动化测试并很好落地实施的团队还不是非常多,我们接下来用通俗的方式来介绍自动化测试-- 首先我们从招聘岗位需求 ...
- 十分钟带你入门最具Python风格的Gui库
PySimpleGui是一个很Python的库,虽然不如Qt功能强大,但由于使用的python风格设计的语法所以对于编程小白来说体验很接地气.先给大家看一个PySimpleGui做出来的效果图. 设计 ...
- 一张图30分钟带你入门python-大数据时代来了!神级程序员一张图帮你梳理Python脉络,快速入门...
python语言是我目前为止用的最爽的语言,因为它真的很优美.虽然c,c++,java也非常的强大和伟大,但是每一种语言伟大的背后都是有一定的时代背景. 在PC时代大量的嵌入式的设备,底层的代码,以及 ...
最新文章
- qt爬取网页信息_豆瓣TOP250数据爬取
- python异步查询数据库_Python中使用aiomysql异步操作MySQL实例效果
- LOJ2424「NOIP2015」子串
- python 识别二维码内容
- 认证的服务号可以快速注册并认证小程序,但是有额度限制
- TypeScript学习日记
- 赖美云的认证照_赖美云的“瓜子牙”辣眼睛?原来牙齿美容这么重要
- 香格里拉是如何策划成功的?
- 计算机伦理问题论文,仲伟民:论文写作中的学术伦理问题
- 刘顺琦 - CSCI 561 mid 1definition
- 触控板的使用技巧~赞,亲测好用,放弃鼠标,拒绝鼠标手、腱鞘炎!!
- XR,VR,AR虚拟服务器,虚拟演播室
- 批处理删除重复的文件
- 汉诺塔代码图文详解(递归入门)
- 中央民族大学计算机房,中央民族大学第九届大学生人文知识竞赛 暨北京市第九届大学生人文知识竞赛选拔赛通知...
- 钱数转换(转换成:XX万,XX亿)
- 开源服务器日志实时查看系统,开源日志管理系统
- jquery.html页面不显示,jQuery html()方法显示不了内容的问题
- sentry使用方法
- KnowHowChain(脑海链)进度报告——9月15日-9月30日
热门文章
- 私有云基础架构设计:存储、网络、计算、安全和应用的设计最佳实践及案例
- 小兔子乖乖用计算机,宝贝宝贝歌词说说:两只老虎爱跳舞,小兔子乖乖拔萝卜...
- 中科大少年班,阿里云首席科学家闵万里离职,发内部信告别!
- 苹果App卡审怎么办?
- webapp封装 苹果app证书
- 召回和粗排负样本构造问题
- 基于vue的图片上传预览插件
- layui上传图片插件
- 回收宝只要6499买华为Mate40 Pro还送iPhone 12手机:结果被秒杀!
- STA series --- 3.Standard cell library(PART-I)