- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Python开发技术应用》 01-3 Python虚拟机 教学环节 1.3.1 CPython 我们通常意义上说的Python是CPython,也就是完全用C语言实现的Python,它支持C的扩展。Python解释器“编译”Python源代码,生成对应的字节码文件.pyc,字节码随后在CPython虚拟机上执行。有时候,我们因为看到.pyc文件而认为Python是编译型的,这也有一些合理性。你如果之前运行过你的Python代码,生成了.pyc文件,再次运行时就要快得多,因为不需要再次编译生成字节码了。 Python有很多实现。前面也提到,CPython是最通用的,被认为是“默认”的实现,同时也是别的虚拟机实现的参考解释器。 必威体育精装版的语言特性都是在CPython上面先实现,基本包含了所有第三方库支持,但是CPython有几个缺陷,一是全局锁使Python在多线程效能上表现不佳,二是CPython无法支持JIT(即时编译),导致其执行速度不佳。 1.3.1 CPython 1.3.2 Jython 除了CPython,最著名的就是Jython了。Jython是完全用Java实现的python,CPython生成在CPython虚拟机上运行的字节码,而Jython生成在JVM上运行的java字节码(这同编译Java程序生成java字节码的过程是一样的)。Jython具有许多Java的特性,例如垃圾回收机制。 Jython和其他java程序共同工作很容易:无需其他工作,你就可导入任何Java类,在你的Jython程序中使用其他Java类。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。 1.3.2 Jython 1.3.3 IronPython IronPython是另一很流行的Python 实现,完全用C#实现,针对.NET平台。它运行在可以叫做.NET虚拟机的平台上,这是微软的 Common Language Runtime (CLR),同JVM相对应。 1.3.4 Pypy Pypy是一个用Python写的Python的实现。在Pypy中使用了JIT技术来提高运行速度。我们知道,本地机器码的速度比字节码的速度快很多,那么,如果能将一些字节码直接编译成本地机器码再去运行它会怎样呢?虽然必须花费一些代价(比如时间)来将字节码编译为本地机器码,但如果最终的运行时间更快,那么这个代价就是值得的。这就是JIT编译器的动机,一种混合了解释器和编译器好处的技术。简单来讲,JIT就是想通过编译技术提升脚本解释器系统的速度。 1.3.5 我们用什么 虽然有很多Python的实现(或者说Python虚拟机),但CPython仍然有不可替代的优势。我们说过,Python的应用已经深入到许多不同的领域,有数不清的优秀、便捷的第三方框架可以使用,其中有很多只有基于CPython的实现。在本课程中,我们介绍的所有知识点都基于默认的、纯粹的Python,即CPython。 THANK YOU!
您可能关注的文档
- 环境材料概论 课件全套 第1--9章 绪论、吸附材料 ---环境材料的绿色设计.pptx
- 非参数统计——基于Python 课件全套 第1--9章 非参统计简介---机器学习.pdf
- 用微课学Python云开发技术应用 课件 01-0 《Python开发技术应用》课程简介.pptx
- 用微课学Python云开发技术应用 课件 01-1 Python的起源和发展(终稿).pptx
- 用微课学Python云开发技术应用 课件 01-2 Python的特性和优势(终稿).pptx
- 用微课学Python云开发技术应用 课件 01-4 Python版本差异及下载获取(终稿).pptx
- 用微课学Python云开发技术应用 课件 01-5 在Windows下安装Python(终稿).pptx
- 用微课学Python云开发技术应用 课件 01-6 编写第一个程序(终稿).pptx
- 用微课学Python云开发技术应用 课件 01-7 在Linux下编译安装Python(终稿).pptx
- 用微课学Python云开发技术应用 课件 01-8 Python增强工具(终稿).pptx
- 用微课学Python云开发技术应用 课件 02-1 数据类型(终稿).pptx
- 用微课学Python云开发技术应用 课件 02-2 数学运算、比较运算、赋值运算(终稿).pptx
- 用微课学Python云开发技术应用 课件 02-3 位运算、身份运算、逻辑运算及运算符优先级(终稿).pptx
- 用微课学Python云开发技术应用 课件 02-4 表达式和语句(终稿).pptx
- 用微课学Python云开发技术应用 课件 02-5 其它基本语法规则(终稿).pptx
文档评论(0)