欢迎大家来到IT世界,在知识的湖畔探索吧!
欢迎大家来到IT世界,在知识的湖畔探索吧!
Python 编程语言在数据工程社区中得到广泛应用,拥有众多强大的工具,可用于密集的数据管理和操作,从 ETL 管道到机器学习模型。Python 的功能远不止于此;可以使用 Django 或 Flask 等框架以及具有 QT 和其他功能的 GUI 构建强大的 Web 服务器和应用程序。
Python 解释器
Python 是一种解释型语言,这意味着解释器读取、分析和执行代码。Python 解释器分为许多类别,每个类别都旨在优化语言的关键功能。默认实现 CPython 实现 Python 语言规范,通过全局解释器锁 (GIL) 管理内存,提供大量库和扩展,并将 Python 代码转换为字节码。它支持广泛的库,跨平台兼容,并拥有非常活跃的用户社区。如果您刚刚在计算机上安装了 Python,并测试它是否适用于简单的 print(“Hello World!”) ,它将是您要使用的 API。
PyPy 是一种使用即时 (JIT) 编译器的高性能 Python 解释器,JIT 编译器通过在运行时将字节码转换为本机机器代码来增强 Java 程序的性能。它为长时间运行的应用程序提供更快的执行时间,并与 CPython 兼容,并为大型应用程序提供内存效率。
然后有 Jython,它是一个用 Java 编写的 Python 解释器,旨在在 Java 平台上运行。它提供与 Java 库的无缝连接、真正的多线程功能以及与 Java 生态系统的简单接口。
有 CPython、PyPy 和 Jython……但是 Interpreter 实际上是如何运作的呢?下面解释这一点,重点是词法分析、解析、字节码编译和代码的最终执行。
Python 解释器将 Python 源代码转换为标记,即程序的最小单位。此方法将代码分解为有意义的块,使解释器能够更好地理解其结构。这称为词法分析或分词化。然后,解析会检查标记化代码以生成解析树,也称为抽象语法树 (AST),它描述了代码的层次结构。此阶段验证代码的语法,以确保它遵循 Python 的语法标准。解析后,代码将转换为字节码,字节码是代码(.pyc 文件)的中间表示形式,独立于平台,可在多个平台上移植。然后,Python 虚拟机 (PVM) 运行字节码,解释每条指令并执行相关活动,例如内存管理和调用函数、处理变量以及执行循环和条件。
实际上可以使用 python 中的 dis 模块来查看代码是如何将代码转换为字节码的:
import dis def hello_world(): print("Hello, World!") dis.dis(hello_world)
欢迎大家来到IT世界,在知识的湖畔探索吧!
当运行这段代码时,将得到一个整洁的输出,它是 你好世界 函数的反汇编字节码:
欢迎大家来到IT世界,在知识的湖畔探索吧! 4 0 LOAD_GLOBAL 0 (print) 2 LOAD_CONST 1 ('Hello, World!') 4 CALL_FUNCTION 1 6 POP_TOP 8 LOAD_CONST 0 (None) 10 RETURN_VALUE Process finished with exit code 0
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/93775.html