提问人:handler404 提问时间:7/22/2023 更新时间:7/22/2023 访问量:80
python 解释器如何接收和输出数据?
How the python interpreter receives and outputs data?
问:
当我写作时会发生什么?
解释器是直接使用系统 I/O 手段,还是使用某种系统 API,它提供了需要在控制台中显示某些内容的信息?print('Something')
输入也是如此。如果我调用该函数,那么 python 解释器本身将读取输入值,或者它会再次将这项工作委托给某个系统 API,它将包装输入。input()
我知道python是用C语言编写的(至少是它的主要实现)。原来是解释器内部的C语言负责输入/输出?
我所有寻找答案的尝试都归结为文章,他们告诉我,您需要按下键盘上的按钮,该功能将在控制台中打印一些东西。我已经知道这一点,我想知道下面这个级别发生了什么。input()
print()
答:
1赞
erogluegemen
7/22/2023
#1
当你写作时,这是在较低级别发生的情况:print('Something')
- Python 解释器:Python 解释器负责逐行执行代码。
- print() 函数:当解释器遇到该语句时,它首先计算括号内的表达式,在本例中只是一个字符串,“Something”。
print('Something')
- 系统调用:Python 解释器使用系统调用与操作系统或运行它的环境(例如,控制台或终端)进行通信。系统调用是操作系统提供的接口,用于访问各种低级功能,包括输入/输出操作。
- 系统API:系统调用由系统 API 处理。此 API 是操作系统的一部分,允许 Python 解释器与系统的底层 I/O 工具进行交互。它为 Python 解释器提供了一种与控制台或终端通信并显示文本“Something”的方法。
- 显示:最后,文本“Something”显示在运行 Python 程序的控制台或终端中。
同样,当您使用:input()
- Python 解释器:Python 解释器正在执行您的代码。
- input() 函数:当解释器遇到 时,它会暂停
程序的执行并等待用户输入一些文本。
input()
- 系统API:解释器使用系统 API 来访问 系统的底层 I/O 设施,并等待用户 提供输入。
- 用户输入:系统 API 从 控制台或终端,并将其传递回 Python 解释器。
- 继续执行:Python 解释器恢复执行 用户提供的输入,您可以将其分配给变量 或根据需要在您的程序中使用它。
因此,总而言之,当您使用 像 print() 和 input() 这样的函数,解释器本身所依赖的 操作系统提供的系统 API 来处理实际的 输入和输出操作。这种抽象允许 Python 工作 跨不同平台和环境无缝衔接。
评论
0赞
erogluegemen
7/22/2023
别客气!我很高兴我能帮到你。如果您还有其他问题,请随时提问。
评论