【发布时间】:2020-06-30 22:30:10
【问题描述】:
我是一名 comp sci 学生,正在学习一些编译器设计,我有一个快速的问题困扰着我。
我目前正在用 JavaScript(在 nodeJS 上运行)编写一个解释器,它接受如下语句:
x = 4
print x
这将导致控制台输出:
4
我可以很容易地解析这些语句并将它们输出到控制台窗口。但是这个过程如何与 GUI 应用程序一起工作呢?
我的理解是这样,我们以Python为例。
当您在命令行中运行python 时,它会启动一个控制台应用程序,该应用程序接收python 命令并解释它们。 (我知道它首先会转换为字节码,但它最终会被解释)。
如果它看到1+1,我了解它如何解析它并将2 返回到它已经运行的控制台窗口。在这种情况下,Python 本身是一个控制台应用程序,因此用户输入指令的控制台输出也可以在控制台上很直观。
我已经做到了。但这也适用于 python:
from tkinter import*t = Tk()
这是如何工作的? Python 解释器/VM 是否以某种方式调用 Win32 API 函数?还是它自己绘制窗口?
提前感谢您为澄清这一点提供的任何帮助。
【问题讨论】:
标签: python tkinter python-internals