下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Python运行速度为什么会赶超C语言?

作者:北京尚学堂     来源: 今日头条点击数:1156发布时间: 2019-12-11 10:17:24

标签: python视频python视频教程编程语言

大神带你学编程,欢迎选课

Python运行速度赶超C语言?Python太完美了!简直无敌。Python是一种计算机程序设计语言,由吉多·范罗苏姆创造,第一版发布于1991年,可以视之为一种改良的LISP。Python的设计哲学强调代码的可读性和简洁的语法。相比于C++或java,Python让开发者能够用更少的代码表达想法。

Python运行速度为什么会赶超C语言_python视频_python视频教程_编程语言_课课家 
 

IT行业里面,很多门外汉应该也都知道,就是运行速度最快的是C,运行很慢的是Python。其实这都不是事,Python运行慢,但是代码量非常少。几十行代码就能做到C几百行才能做到的东西。当然小编这里并没有瞧不起C,C乃是语言中的祖母,只是相对来讲打个比方,今天这个小伙子厉害了,他居然运行Python和C一样快,直接惊呆了!咱们接下来看下!

 
 
 
 
 
 

如何使用Cython

下面的代码来自Cython文档:

def f(x): return x*2-xdef integrate_f(a, b, N): s = 0 dx = (b-a)/N for i in range(N): s += f(a+idx) return s * dx

这是一个例子,一个不完整的函数的实现。作为纯Python代码,速度很慢,因为Python必须在机器本机数字类型和其内部对象类型之间来回转换。

现在考虑相同代码的Cython版本,并强调Cython的增加:

cdef double f(double x): return x*2-xdef integrate_f(double a, double b, int N): cdef int i cdef double s, x, dx s = 0 dx = (b-a)/N for i in range(N): s += f(a+idx) return s * dx

如果我们显式声明变量类型,无论是函数参数还是函数体(double,int等)中使用的变量,Cython都会将所有这些转换成C语言。我们也可以使用cdef关键字来定义 尽管这些函数只能被其他的Cython函数调用,而不能被Python脚本调用,但是这些函数主要是用C实现的。

 
 
 
 
 
 
 
 
 
 
 
 
 
 

Cython分析和性能

可以通过分析代码并亲眼目睹瓶颈在哪里获得最佳性能。Cython为Python的cProfile模块提供钩子,因此可以使用Python自己的分析工具来查看Cython代码的执行情况。无需在工具组之间切换;可以继续所熟悉和喜爱的Python世界中工作。

它有助于记住所有情况下,Cython不是魔术,仍然适用明智的现实世界的表现实践。在Python和Cython之间来回穿梭越少,你的应用运行得越快。

 
 

2019年最新python教程

如果你处于想学python或者正在学习python,python的教程不少了吧,但是是最新的吗?

说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2019最新的python全套教程最后小编为大家准备了6月份新出的python自学视频教程,共计约200G,免费分享给大家!

2019Python自学教程全新升级为《Python+数据分析+机器学习》,七大阶段能力逐级提升,打造技能更全面的全栈工程师。

 
 
 
 
 
 
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python's Flying Circus)。
赞(11)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程