本文将以初学者的方式介绍动态类型、强类型以及 Python 解释器的内部工作原理。
Python是一种动态、强类型、解释型语言。这些术语乍一听很抽象、令人生畏,但它们很容易理解,这也是为什么这种语言“用户友好”的原因之一。让我们分解并简化它们。
cat = "Mooney"
Python 的运行时将读取Mooney并分配适当的内存,与 C++ 相比,无需事先告知Mooney是一个字符串,即可打印操作。
cat = "Mooney"
print(cat)
cat = "Seth"
print(cat)
cat = ["Seth", "Mooney"]
print(cat)
上述代码返回以下结果
Mooney
Seth
[Seth, Mooney]
强类型
这直接指代内存以及它如何可以或不可以改变。虽然 Python 值的值可以改变,但它们不能以意外的方式改变,否则会引发错误。以下是最佳解释方式:
整数 + 整数 = 成功
字符串 + 字符串 = 成功
整数 + 字符串 = 错误
您可以更改变量类型,但需要显式转换。
Python 解释器
上面的代码执行,都是Python 的运行时在起作用。
Python 的运行时是指用于编写和运行 Python 代码的工具。运行时是负责安装和运行应用程序代码和依赖项的软件堆栈。运行时包括命令行、集成开发环境 (IDE)(如VS Code或 Jupyter Notebook)以及 Web 服务器(如Django和 Flask)。运行时包括CPython ——Python 的默认字节码解释器。CPython 的主要目的是读取(大多数)人类编写的代码并将其转换为机器可读的代码。
CPython 读取并解释 Python 源代码并逐行执行(因此是解释型语言)。在执行之前,CPython 将 Python 源代码编译为字节码。Python虚拟机 (PVM)执行代码。由于 CPython 处理 Python 代码执行,因此它还管理 Python 内存管理。这包括内存分配和垃圾收集。
CPython 提供了一个标准库,其中包含用于 I/O、网络和数据操作等任务的模块和包。
Python 内部提供工具可以让开发者进行灵活且富有表现力的编程。这使得它适合非常多的擅长任务,比如脚本编写、Web 开发与数据分析等情形。
作者:洛逸
本文为 @ 万能的大雄 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。