我在最近的一次采访中被问到这个问题。我知道 super 是获取父类(super class)的方法, pass 没有任何作用,但要关闭函数或类声明,yield 用于生成器。但我不知道它们在Python中是如何实现的。
我搜索后只得到了 super 的答案:How is super() in Python 3 implemented? ,任何人都可以回答其他人吗?
最佳答案
super
不是 python 中的关键字,它是一个类似于 int
或 range
的变量。
诸如 pass
、yield
、def
、if
等关键字被解析器用来构建 AST (抽象语法树)。您可以使用 python 的 ast
模块自行操作 AST。
然后,代码生成器将 AST 转入一些较低级别的机器或虚拟机代码,准备执行。
关于python - super、pass、yield等关键字在Python中是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29192324/