Python中super、pass、yield等关键字是如何实现的?

How are super, pass, yield and other keywords are implemented in Python?

我在最近的一次采访中被问到这个问题。而且我知道super是获取super class的方法,pass没有作用,只是关闭一个函数或class声明,yield用于generator。但我不知道它们是如何在 Python.

中实现的

我搜索了一下,只得到超级的答案:How is super() in Python 3 implemented?,谁能替别人回答?

super 不是 python 中的关键字,而是 intrange 中的变量。 passyielddefif 等关键字被解析器用来构建 AST(抽象语法树)。您可以使用 python 的 ast 模块自己玩转 AST。 然后代码生成器将 AST 转入一些较低级别的机器或虚拟机代码,准备执行。