好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

诗书塞外 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测试数据/python/cpython/pull/17302。CPython项目的Github地址是:https://github测试数据/python。有兴趣的同学可以深入探究下。

群统计 小调查:作为一名程序员,你是计算机专业出身么?你熟悉编译原理吗?

小程序

查看更多关于Python3.9将支持把AST对象转换回Python代码的详细内容...

  阅读:44次