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

标签 python yield

我在最近的一次采访中被问到这个问题。我知道 super 是获取父类(super class)的方法, pass 没有任何作用,但要关闭函数或类声明,yield 用于生成器。但我不知道它们在Python中是如何实现的。

我搜索后只得到了 super 的答案:How is super() in Python 3 implemented? ,任何人都可以回答其他人吗?

最佳答案

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

关于python - super、pass、yield等关键字在Python中是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29192324/

相关文章:

python - python中的列表切片问题

python - 类型错误 : 'generator' object is not callable

python-3.x - 如果我有一个使用yield的cdef或cpdef函数,它应该是什么类型?

Ruby 与计算机科学相关的 yield 特性

python - 如何在cmd中安装多个whl文件

python - 换行符 ='' 在 csv 库中意味着什么?

python - 读取 .xlsx 并访问单元格值,但不按其位置

java - 线索消失得无影无踪

python - 计算 JSON 叶节点数

python - Pandas 将 0/1 数据框条目映射到列名称