slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
Python 底层原理
17611538698
webmaster@21cto.com

Python 底层原理

编程语言 0 876 2024-09-29 12:33:57

图片

本文将以初学者的方式介绍动态类型、强类型以及 Python 解释器的内部工作原理。

Python是一种动态、强类型、解释型语言。这些术语乍一听很抽象、令人生畏,但它们很容易理解,这也是为什么这种语言“用户友好”的原因之一。让我们分解并简化它们。

动态语言


计算机编程语言分为两大阵营:动态语言与静态语言。


静态语言包括 C、C++、Java 和Go。静态语言的一个定义特征是变量类型必须在源代码中定义。一旦开发人员将变量定义为某种数据类型(例如,如果 cat 变量是字符串),它就永远是字符串(rrrrr)。一旦变量在编译时定义,就不能在运行时更改。


对于动态语言,解释器会在运行时推断变量类型(稍后会详细介绍解释器和运行时)。这极大地改变了我们能做什么和不能做什么。动态语言包括 Python、JavaScript、Ruby、PHP。


这意味着 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 开发与数据分析等情形。

作者:洛逸

评论