python系列教程3

tech2024-05-11  80

朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

 

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好的理解人工智能技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是要由所写,所以不如我的人工智能技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!

 

Python唯一的缺点就是,在目前现有的实现方式下,与C和C++这类编译语言相比,Python的执行速度还不够快。教程后面将对实现方式的概念进行详细阐述。简而言之,目前Python的标准实现方式是将源代码的语句编译(或者说是转换)为字节码的形式,之后再将字节码解释出来。由于字节码是一种与平台无关的格式,字节码具有可移植性。然而,因为Python没有将代码编译成底层的二进制代码(例如,Intel芯片的指令),一些Python程序将会比像C这样的完全编译语言慢一些。

 

程序的类型决定了是否需要关注程序的执行速度。Python已经优化过很多次,并且Python代码在绝大多数应用领域运行的速度也足够快。此外,一旦使用Python脚本做一些“现实”世界的事情,程序实际上是以C语言的速度运行的,例如,处理某一个文件或构建一个用户图形界面(GUI)。因为在这样的任务中,Python代码会立即发送至Python解释器内部已经编译的C代码。究其根源,Python开发速度带来的效益往往比执行速度带来的损失更为重要,特别是在现代计算机的处理速度情况下。

 

即使当今CPU的处理速度很快,在一些应用领域仍然需要优化程序的执行速度。例如,数值计算和动画,常常需要其核心数值处理单元至少以C语言的速度(或更快)执行。如果在以上领域工作,通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用Python脚本将这部分应用连接起来,仍然可以使用Python。

 

我们将不会再谈论这个扩展的问题,但这却是一个我们先前所提到过的Python作为控制语言角色的鲜活例子。NumPy是采用双语言混编策略的一个重要例子:作为一个Python的数值计算扩展,NumPy将Python变为一个高效并简单易用的数值计算编程工具。你也许不会在自己的Python工作中采用这种扩展的方式编程,但是如果需要的话,Python也是能够提供这种强大的优化机制的。

 

乐观估计,这个时候全球的Python用户将达到100万(略微有些出入)。这个估计是基于各种数据的统计的。例如,下载率和用户抽样调查。因为Python开放源代码,没有注册许可证总数的统计,就很难得到精确的用户总数。此外,在Linux的各种发行版、Macintosh计算机和其他的一些硬件和产品中自动内置了Python,进一步模糊了用户数目。

 

总体来说,Python从广泛的用户基础和活跃的开发者社区中受益不少。由于Python有近19年的发展历史并得到了广泛的应用,Python保持了稳定并具有活力的发展趋势。除了个人用户使用之外,Python也被一些公司应用于商业产品的开发上。例如:

•YouTube视频分享服务大部分是由Python编写的。

•流行的P2P文件分享系统BitJorrent是一个Python程序。

•EVE Online这款大型多人网络游戏(Massively Multiplayer Online Game,MMOG),广泛地使用Python。

•Maya这款强大的集成化3D建模和动画系统,提供了一个Python脚本编程API。

•Intel、Cisco、Hewlett-Packard、Seagate、Qualcomm和IBM使用Python进行硬件测试。

•Industrial Light & Magic、Pixar等公司使用Python制作动画电影。

•在经济市场预测方面,JPMorgan Chase、UBS、Getco和Citadel使用Python。

•NASA、Los Alamos、Fermilab、JPL等使用Python实现科学计算任务。

•iRobot使用Python开发了商业机器人真空吸尘器。

•ESRI在其流行的GIS地图产品中使用Python作为终端用户的定制工具。

•NSA在加密和智能分析中使用Python。

•IronPort电子邮件服务器产品中使用了超过100万行的Python代码实现其作业。

•OLPC使用Python建立其用户界面和动作模块。

 

还有许多方面都有Python的身影。如今贯穿所有使用Python的公司的唯一共同思路也许就是:Python在所有的应用领域几乎无所不能。Python的通用性使其几乎能够应用于任何场合,而不是只能在一处使用。实际上,我们这样说也不为过:无论是短期策略任务(例如,测试或系统管理),还是长期战略上的产品开发,Python已经证明它是无所不能的。

 

我的微信公众号是“人工智能知识分享”

微信公众号:“人工智能知识分享“

 

最新回复(0)