没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Cython 三分钟入门
分类: Python Translation2009-09-17 10:17 30119 人阅读 评论(19) 收藏 举报
floatpythonmath.himportmathc
作者:perrygeo
译者:赖勇浩(http://laiyonghao.com)
原文:http://www.perrygeo.net/wordpress/?p=116
我最喜欢的是 Python,它的代码优雅而实用,可惜纯粹从速度上来看它比大多
数语言都要慢。大多数人也认为的速度和易于使用是两极对立的——编写 C 代
码的确非常痛苦。而 Cython 试图消除这种两重性,并让你同时拥有
Python 的语法和 C 数据类型和函数——它们两个都是世界上最好的。请记
住,我绝不是我在这方面的专家,这是我的第一次 Cython 真实体验的笔记:
编辑:根据一些我收到的反馈,大家似乎有点混淆——Cython 是用来生
成 C 扩展到而不是独立的程序的。所有的加速都是针对一个已经存在
的 Python 应用的一个函数进行的。没有使用 C 或 Lisp 重写整个
应用程序,也没有手写 C 扩展 。只是用一个简单的方法来整合 C 的速度
和 C 数据类型到 Python 函数中去。
现在可以说,我们能使下文的 great_circle 函数更快。所谓 great_circle
是计算沿地球表面两点之间的距离的问题:
[python] view plaincopy
1. import math
2.
3. def great_circle(lon1,lat1,lon2,lat2):
4. radius = 3956 #miles
5. x = math.pi/180.0
6.
7. a = (90.0-lat1)*(x)
8. b = (90.0-lat2)*(x)
9. theta = (lon2-lon1)*(x)
10. c = math.acos((math.cos(a)*math.cos(b)) +
11. (math.sin(a)*math.sin(b)*math.cos(theta)))
12. return radius*c
普通网友
- 粉丝: 17
- 资源: 314
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0