ITPub博客

首页 > > > Python3.9将支持把AST对象转换回Python代码

Python3.9将支持把AST对象转换回Python代码

作者:54xx 时间:2020-02-17 21:49:37 0 删除 编辑

原创 Python部落 



编译器是如何解析Python代码的?这个问题对于很多程序员来说,还是不太清楚的。不过即便你不清楚,在Python中你依旧可以解析Python源代码,并得到一个封装好的对象。在这个对象中,你可以遍历代码中定义的类和函数。帮你完成这个解析工作的模块叫做ast,它是一个标准库模块,也就是说不用安装依赖直接可用的。

ast模块对于我来说有什么用途呢?是否有一个生动的案例能够说明下它的使用方法呢?有的,刚好前几天我们发过一篇有关ast使用的文章,链接在这里:《在Python中从源文件和行号查找定义》

ast模块可以帮助你把Python源代码解析成一个AST对象,而Python3.9的一个新特性厉害了,它还能帮你把一个AST对象还原为一段Python源代码,就像这样:

>>> import ast
>>> print(ast.unparse(ast.parse('1 + 1')))(1 + 1)

有了这个特性,如果你制作代码工具一类的软件,就能轻易地在合适的位置显示所涉及的函数的代码了。

目前Python3.9刚刚启动开发,预计明年10月发布。此特性的Pull Request地址是:https://github.com/python/cpython/pull/17302。CPython项目的Github地址是:https://github.com/python。有兴趣的同学可以深入探究下。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1976/viewspace-3134171/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: C++ 标准输出
请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    226
  • 访问量
    1611