十分钟学习python_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_10分钟带你入门Cython相关推荐
- 五分钟讲个故事带你入门计算机网络全站第二佳
一次点赞到底发生了什么 为什么要写这一篇博客 听到HTTP.TCP/IP.RPC的时候我头都是大的,跟着文章深究,越学越糊涂.我有时候希望学习是轻松的,能够大体的掌握发生了什么,从具体到抽象,从整体到 ...
- GitHub 近两万 Star!深度学习 500 问带你入门人工智能!| 技术头条
作者 | 非主流.Jane 出品 | CSDN AI 科技大本营(ID:rgznai100) 程序员转行学什么语言? https://edu.csdn.net/topic/ai30?utm_sourc ...
- k8s怎么学习?:带你入门到实战
1元秒杀5星好课<k8s入门与运维:灵活安装kubernetes/k8s各个版本高可用集群>,课程销量和好评目前始终排在第一,时间有限,需要的抓紧抢购哈,只需1元,不要错过哦.课程链接如下 ...
- 【建议收藏】图解十大经典机器学习算法——带你入门机器学习
目录 机器学习 机器学习的步骤 01 线性回归 02 逻辑回归 03 线性判别分析 04 分类和回归树 05 朴素贝叶斯 06 K近邻 07 学习矢量量化 08 支持向量机 09 bagging和随 ...
- 【跟着ChatGPT学深度学习】ChatGPT带我入门深度学习
❤️觉得内容不错的话,欢迎点赞收藏加关注
- 【跟着ChatGPT学深度学习】ChatGPT带我入门NLP
❤️觉得内容不错的话,欢迎点赞收藏加关注
- 10分钟带你了解python_10分钟Python入门系列教程及学习资源分享
本期分享笔记内容 归档此前入门教程文章,方便查看 10分钟带你Python入门的特点 简单谈下如何寻找Python学习资源 关于分享Python学习资源的分享问题 本人对于Python学习创建了一个小 ...
- vue-cli十分钟学习入门笔记――开袋即食
vue-cli十分钟学习之从一无所知到糊里糊涂 文章目录 vue-cli十分钟学习之从一无所知到糊里糊涂 1.为啥要学习Vue? 2.NodeJs安装及其npm介绍 3.脚手架vue-cli安装 4. ...
- UWP开发入门(十九)——10分钟学会在VS2015中使用Git
原文:UWP开发入门(十九)--10分钟学会在VS2015中使用Git 写程序必然需要版本控制,哪怕是个人项目也是必须的.我们在开发UWP APP的时候,VS2015默认提供了对微软TFS和Git的支 ...
最新文章
- postgres 物理格式
- Adam公式+参数解析
- MySQL 笔记7 -- 权限操作与视图
- Python程序开发——第三章 列表与元组
- 弯下腰,拾起你无价的尊严
- Java EE 8 MVC:全局异常处理
- Sql Server 2008将数据库导出sql脚本并导出数据
- static变量的作用(转)
- 对自定义UITableViewCell的理解
- java21天打卡day17-类2
- python基础入门第0天
- 实验7(2019.6.18)
- 代码动态逍遥叹之狂学php
- 决策树 Decision Tree
- 贝叶斯公式和共轭分布
- 精选PHP毕业设计12套——源码+论文完整资源
- js 编译emoji表情
- 网络教育本科统考计算机和英语作文,2020年9月网络教育统考大学英语B模拟冲刺题试卷3...
- 如何利用今日头条推荐规则, 打造阅读量100万+的爆款文章?
- MyBatis入门学习(二)
热门文章
- UX2 beta 3正式发布!!
- 静态long类型常量serialVersionUID的作用
- mysql select语句执行顺序
- 在 Windows 8 中支持传感器
- Vue「五」—— 动态组件、插槽、自定义指令
- Linux驱动(12)--LED驱动
- keytool使用方法总结
- linux双网卡 ipv4 ipv6 双栈,ipv4 ipv6双栈哪个优先
- 鸿蒙公测报名表填写,鸿蒙2.0公测报名审核要多久_鸿蒙2.0公测报名审核时间
- 更改oracle背景,Oracle 11gR2修改用户后导致系统HANG住